gpt4 book ai didi

python - 将另一个后缀添加到已经具有 pathlib 后缀的路径

转载 作者:IT老高 更新时间:2023-10-28 22:23:04 26 4
gpt4 key购买 nike

我正在转换一些旧的 Python 代码以使用 pathlib而不是 os.path 对于大多数与路径相关的操作,但我最终遇到了以下问题:我需要向已经有扩展名的路径添加另一个扩展名(而不是替换它)。使用 os.path,由于我们只是在操作字符串,解决方案是添加带有字符串操作的扩展:

newpath = path + '.res'

它不适用于 pathlib.Path,因为它不允许连接任意字符。我能找到的最接近的是:

newpath = path.with_suffix(path.suffix + '.res')

这看起来像是一种解决方法,因为它最后仍然使用字符串添加。而且它有一个新的陷阱,因为我一开始忘记处理已经有几个扩展并且你想添加一个新的情况,导致下面的代码恢复旧的行为:

newpath = path.with_suffix(''.join(path.suffixes) + '.res')

现在感觉既不简洁也不干净,因为它使用越来越多的字符串操作来实现旧的行为,而不是纯粹的路径操作。 Path.suffixes 存在的事实意味着库的开发人员考虑了文件可以具有多个扩展名的情况,但我找不到简单地向路径添加新扩展名的方法。有没有更惯用的方式来实现相同的行为?

编辑:实际上 path.with_suffix(path.suffix + '.res') 足以处理已经有多个文件扩展名的情况,即使这对我来说并不是很明显.

最佳答案

我发现以下内容比已经给出的答案更令人满意:

new_path = path.parent / (path.name + '.suffix')

关于python - 将另一个后缀添加到已经具有 pathlib 后缀的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49380572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com