1

我想制作一个名单并将所有名称存储在四个文件夹中。我建立

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],从第二个文件夹添加到 namelist[2]。我不知道如何将不同级别的所有名称添加到其中。谢谢!

4

1 回答 1

0

我不完全确定这就是您对上述问题的理解。但似乎首先,您要使用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 回答