我建立
totalset = {}
并通过
从文件夹A,B,C,D中提取文件名for file_name in (os.listdir(full_subdir_name)):
full_file_name = os.path.join(full_subdir_name, file_name)
现在我想构建一个名为namelist的东西,其中包含所有文件名,我可以通过以下方式遍历文件夹中的所有文件:
for file in namelist[A]:
blabla...
for file in namelist[B]:
blabla.. .
我该怎么办?
答案 0 :(得分:0)
您应该使用“列表理解”。以下是您可以执行此操作的示例:
lst_names = [os.path.join(full_subdir_name, n) for n in os.listdir(full_subdir_name)]
那么你就可以建立像这样的完整namelist
。首先,您应该设置一个名单列表。
# example using Windwows filenames
# note that we use "raw strings" with r'' so the backslash will not be weird
lst_names = [r'C:\Users\steveha\Desktop', r'C:\Users\steveha\Documents', r'C:\Users\steveha\Music']
# example using Mac or Linux filenames
lst_names = ['/home/steveha/Desktop', '/home/steveha/Documents', '/home/steveha/Music'
使用您的姓名设置lst_names
后,请构建完整的namelist
:
namelist = {}
for full_subdir_name in lst_names:
namelist[full_subdir_name] = [os.path.join(full_subdir_name, n) for n in os.listdir(full_subdir_name)]
就我个人而言,我认为使用比full_subdir_name
更短的变量名更容易阅读:
namelist = {}
for f in lst_names:
namelist[f] = [os.path.join(f, n) for n in os.listdir(f)]