我试图使用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/