1

我需要从一些文件夹层次结构中制作一个字典。

我在 /home/Desktop/songs 中有一个文件夹 --- 里面有文件夹:“A”和另一个“B”。文件夹A和B里面有文件夹:“1”和“2”

我想在“歌曲”中获取文件夹,并在 A 和 B 中获取文件夹。然后和他们一起制作字典。像这样:

A={'1','2'}
B={'1','2'}

这样,如果我更新我的文件夹,脚本就会更新。

我开始寻找这样的东西:

os.chdir('/home/Desktop/songs')
letter = [d for d in os.listdir('.') if os.path.isdir(d)]
print letter
-----> A,B

但我不知道如何将它们附加到字典中。

4

1 回答 1

1

要获取 /home/Desktop/songs 下文件夹的后代,您只需要使用您的理解来遍历您已识别的文件夹的子文件夹。作为一个简单的示例,(尽管您可能希望通过使用适当的循环使其更具可读性):

import os

os.chdir('/home/Desktop/songs')
letter = {d : [child 
                  for child in os.listdir('./' + d) 
                  if os.path.isdir('./' + d)
              ] 
              for d in os.listdir('.') 
              if os.path.isdir(d)
         }
print letter

输出:

{'A': ['1', '2'], 'B': ['1', '2']}
于 2013-05-06T18:39:39.897 回答