首页 > 解决方案 > 从文件夹创建字典

问题描述

我正在尝试创建一个存储文件夹目录列表和文件夹名称的字典。

这是我的代码:

#initialize empty dict
my_dict = {}
my_dict['filename'] = []
my_dict['label'] = []

# store data:
for file in os.listdir(folder):
  with open(os.path.join(folder, file),'r', encoding='utf-8') as review:
    my_dict['filename'].append(file)
    my_dict['folder'].append(folder)

print(my_dict)

我的代码返回

{'filename': ['0_3.txt', '1_1.txt', '2_1.txt', '3_4.txt', '4_4.txt'], 'folder': [0, 0, 0, 0, 0]}

但所需的输出是:

[{'filename' : '0_3.txt', 'folder' : '0'}, {'filename' : 1_1.txt', 'folder' : 0}, ...] ...

你能帮忙吗?

标签: python

解决方案


正如其他人指出的那样,字典键必须是唯一的。根据您的评论,您似乎想要一个包含多个字典的列表,您可以像这样构造它,为每个文件附加一个新的字典:

files_info = []

for file in os.listdir(folder):
    # ...
    files_info.append({"filename": file, "folder": folder})

print(files_info)

推荐阅读