gpt4 book ai didi

python - 即使路径不存在,为什么 Path(...).exists 为真?

转载 作者:行者123 更新时间:2023-12-03 11:09:41 28 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Why does "if foo:" follow the branch even if the function foo returns False?

(3 个回答)


4年前关闭。




我应该要求用户输入一个目录,如果该目录不存在,我们告诉他们然后为他们创建一个目录。

到目前为止,这是我的代码。无论输入路径的目录是否实际存在,它都以相同的方式起作用。
在 Windows 上使用 pathlib 时会发生这种情况。
错误报告
Issue35692

import pathlib
from pathlib import Path

def directory():

p = Path(input("Enter file path: "))

if p.exists:

print('Exists')

return p

else:

print('Directory does not exist. Making directory for you.')

p.mkdir()



directory()

最佳答案

因为你必须调用.exists方法。看:

>>> p = pathlib.Path("/Users/juan")
>>> p.exists # this just returns the method object
<bound method Path.exists of PosixPath('/Users/juan')>
>>> p.exists()
True

方法/函数对象总是评估为 True ,因此为什么您总是看到路径存在。

关于python - 即使路径不存在,为什么 Path(...).exists 为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45202356/

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