0

私はここにこのコードを持っています...それはディレクトリ内のファイルとフォルダのリストを生成します

import os
for x in os.listdir("C:\Users"):
    text = text + "\n" + x
f = open("List.txt", "w")
f.write(text)
f.close()

しかし、どうすれば2つのことを実行できますか...

まず、フォルダの内容をよく読み、子供だけになるまで続けます。

次に、レベルが下がるとタブが追加されます。このような

Level 1 (parent)
    Level 2 (child)

そのタブを追加するにはどうすればよいですか?レベルの無限の量のために?

4

1 に答える 1

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て「ローカル」パスを抽出し、深さをカウントして、各ファイル名の前に付けるタブの数に使用します。

于 2012-09-29T18:27:22.247 に答える