在调试模式中单步执行时没有错误,否则为AttributeError

时间:2016-01-27 20:33:12

标签: python pathlib

示例代码

from pathlib import Path

for f in Path(<dir>).iterdir():
    print(f._str)

我正在使用它传递给一个函数,但是在正常运行或没有断点的情况下调试时都不行。使用断点并单步执行它可以很好地打印出所有内容(_str是总路径!

1 个答案:

答案 0 :(得分:1)

我真的不确定你要做什么或打印,但是,是的,这会抛出一个AttributeError。可能是因为._str不是Path类的属性。

from pathlib import Path

for f in Path('/tmp').iterdir():
    print(f._str)

AttributeError: _str

这会打印完整路径。

for f in Path('/tmp').iterdir():
    print(f)

/tmp/com.apple.launchd.0CERUFd5eE
/tmp/com.apple.launchd.JLaC2VPWPS
/tmp/com.apple.launchd.jyIh6h3f8I

如果您只想要文件的名称和&amp;目录,做print(f.name)