python - 从文件夹创建字典
问题描述
我正在尝试创建一个存储文件夹目录列表和文件夹名称的字典。
这是我的代码:
#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}, ...] ...
你能帮忙吗?
解决方案
正如其他人指出的那样,字典键必须是唯一的。根据您的评论,您似乎想要一个包含多个字典的列表,您可以像这样构造它,为每个文件附加一个新的字典:
files_info = []
for file in os.listdir(folder):
# ...
files_info.append({"filename": file, "folder": folder})
print(files_info)
推荐阅读
- c - 我正在尝试将数组传递给我的函数,但输出中没有显示任何内容,为什么?
- r - 从包含 3 个向量的列表中创建一个新向量,但消除重复值
- r - 无法遍历 R 中的数据框行索引
- python-3.x - 将嵌套的 for 循环转换为矢量化形式,以便在使用 numpy 时评估函数
- c++ - 带有ubuntu问题的C ++中的OBJ文件
- android - 每个 dex 文件的最大引用方法数
- javascript - JS函数无法从vbhtml获取值
- shell - 对我的 RPI 切换显示的脚本进行故障排除
- java - 将具有可能序列化 JSON 值的 hashmap 作为节点添加到 JSON 字符串
- c# - 无法使用本地部署的 ASP.NET REST API