我在这里有这个代码......它在目录中生成一个文件和文件夹列表
import os
for x in os.listdir("C:\Users"):
text = text + "\n" + x
f = open("List.txt", "w")
f.write(text)
f.close()
但我怎么能让它做两件事......
首先好好阅读文件夹中的内容并继续操作,直到只有一个孩子。
其次,当它下降一个级别时,它会添加一个标签。喜欢这个
Level 1 (parent)
Level 2 (child)
如何将其添加到该标签中?无限量的水平?
答案 0 :(得分:3)
改为使用os.walk()
:
start = r'C:\Users'
entries = []
for path, filenames, dirnames in os.walk(start):
relative = os.path.relpath(path, start)
depth = len(os.path.split(os.pathsep))
entries.extend([('\t' * depth) + f for f in filenames])
with open("List.txt", "w") as output:
output.write('\n'.join(entries))
在每个循环中,path
是文件名和目录名直接包含在目录中的完整路径。通过使用os.path.relpath
,我们提取“本地”路径,计算深度并将其用于用于在每个文件名前加上的标签数。