为什么要使用pathlib.对于解析为同一字符串的路径,路径相等运算符是否返回true



我正试图遍历如下目录树:

from pathlib import Path
# ...
curr = Path(os.getcwd())
while True:
# do something with curr
if curr is curr.anchor:
break
curr = curr.parent

令我惊讶的是,即使是str(curr) == str(curr.anchor),表达式curr is curr.anchorcurr == curr.anchor都返回False,所以我得到了一个无限循环。

解决这个问题的正确方法真的会改变以下情况吗:

if str(curr) == str(curr.anchor):
break

我很好奇为什么要使用pathlib。路径相等运算符是这样工作的,但我也对主要问题的更多Python解决方案持开放态度。

curr是一个Path。curr.anchor是一个字符串。字符串和Path将不相等,并且肯定不会是同一个对象。

相关内容

最新更新