1

名前リストを作成して、4 つのフォルダにすべての名前を格納したいと考えています。私は造る

namelist = {1:[], 2:[], 3:[], 4:[]}

メソッドで、私は書きます

for file_name in sorted(os.listdir(full_subdir_name)):
    full_file_name = os.path.join(full_subdir_name,file_name)
    #namelist[level] += blabla...

最初のフォルダーの名前を namelist[1] に追加し、2 番目のフォルダーの名前を namelist[2] に追加します。さまざまなレベルのすべての名前をそれに追加する方法がわかりません。どうも!

4

1 に答える 1

0

これがあなたが上記の質問で得ているものであるかどうかは完全にはわかりません。しかし、最初に、4つのフォルダーのenumerate()インデックスと名前を保持できるようにするために使用したいようです。ただし、上記のコメントに基づいて、各サブフォルダー内の各ファイルのすべてのコンテンツを実際に追加するには、実際には追加のforループが必要になると思います。以下はトリックを行う必要があります。

また、ディクショナリキーはで始まる1ため、列挙型インデックスが0で始まるという事実を考慮する必要があることにも注意してください。

# Here, enumerate gives back the index and element.
for i,file_name in enumerate(sorted(os.listdir(full_subdir_name))):
    full_file_name = os.path.join(full_subdir_name,file_name)

    # Here, 'elem' will be the strings naming the actual
    # files inside of the folders.

    for elem in sorted(os.listdir(full_file_name)):
        # Here I am assuming you don't want to append the full path,
        # but you can easily change what to append by adding the
        # whole current file path: os.path.join(full_file_name, elem)

        namelist[i+1].append(elem)
于 2012-04-14T23:25:58.490 に答える