我试图使用this StackOverflow answer中给出的代码。但是,我不明白那行

level = root.replace(startpath, '').count(os.sep)


应该做的。

另外,当我运行代码时,它在行上给出了错误ValueError: zero length field name in format

print('{}{}/'.format(indent, os.path.basename(root)))

最佳答案

level = root.replace(startpath, '').count(os.sep)

它计算打印对象(目录/文件)名称的缩进级别。它已经摆脱了startpath,因为它对于每个列出的文件都是常见的,并且让所有内容都用+10个制表符缩进似乎很糟糕:) os.sep在Linux上返回路径分隔符,例如“ /”。

关于该错误,请尝试:
print('{0}{1}/'.format(indent, os.path.basename(root)))
那里有一些示例:http://docs.python.org/2/library/string.html#format-examples可能您的Python不是2.7+

关于python - 获取目录树结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16930030/

10-16 03:53