【发布时间】:2018-04-01 08:01:51
【问题描述】:
我正在慢慢接触 Python,但似乎仍然错过了一些基础知识。尤其是列表和字典。
我正在构建一个导入器,并且想检查一个文件目录以查找对我来说可以导入的文件。这是我正在尝试为此构建的功能:
def check_files(directory=os.path.dirname(os.path.realpath(__file__))):
file_number = 0
files = {}
for file in os.listdir(directory):
if os.path.isfile(file):
file_name = os.fsdecode(file)
--> files = {file_number: {'file_name': file_name}}
with open(file_name,'r', encoding='utf-8', errors='ignore') as f:
line = f.readline()
if line == firstline['one']:
--> files = {file_number: {'file_type': 'one'}}
elif line == firstline['two']:
--> files = {file_number: {'file_type': 'two'}}
else:
--> files = {file_number: {'file_type': 'unknown'}}
file_number += 1
return files
如您所见,我未能构建我正在考虑构建的字典以携带一些文件信息并返回它。
关于字典结构,我在考虑这样的事情:
files = {
0: {'file_name': 'test1.csv', 'file_type': 'one'},
1: {'file_name': 'test2.csv', 'file_type': 'two'}
}
我的问题是:如何在获取值并向其中添加新字典时逐步构建字典?我为初学者阅读了相当多的字典解释,但他们大多不处理这个多层次的案例,至少没有一步一步地构建它。
【问题讨论】:
-
我给了你一个理论上的答案,应用了你的代码和一个建议的替代方案,它使用
dicts 的list而不是dicts 的dict作为你的外部@ 987654327@ 正在使用增量整数。
标签: python dictionary