python-read文件名并构建名称列表

时间:2012-04-14 22:58:00

标签: python

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

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]。我不知道如何将不同级别的所有名称添加到其中。 THX!

1 个答案:

答案 0 :(得分: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)