我期待 Path('')
是一个不存在的路径,因为它不对应于文件或目录名称。为什么认为这是存在的?
from pathlib import Path
print(Path('').exists())
我假设通过将 --- 定义为与 Path('')
相同 Path('.')
。在什么情况下有优势?
原文由 mattm 发布,翻译遵循 CC BY-SA 4.0 许可协议
我期待 Path('')
是一个不存在的路径,因为它不对应于文件或目录名称。为什么认为这是存在的?
from pathlib import Path
print(Path('').exists())
我假设通过将 --- 定义为与 Path('')
相同 Path('.')
。在什么情况下有优势?
原文由 mattm 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
正如其他人所说,它解析为当前路径并因此存在,但这就是原因,
pathlib.Path 实际上 是 pathlib.PurePath 的子类,当
pathsegments
(参数)为空(相当于''
)时,它假定当前目录。你可以像这样凭经验证明,
正确的。尽管我不是该库的创建者,但我认为这是出于语法和逻辑原因。事实上,人们经常希望引用当前目录来动态计算某些东西。因此,出于同样的原因
.
指向当前目录,lib创建者可能想让你这样写,那将列出子目录。
基本上,将其视为 默认值。逻辑上
Path()
返回的默认路径是当前目录。因此,从逻辑上讲,空字符串值应该具有相同的行为。