Python:从具有唯一名称的文件中创建许多空字典

时间:2019-03-13 11:55:25

标签: python dictionary

有几种方法可以在Python中创建一个空的Dictionary,例如:

#method 1
Alan = {}
#method 2
John = dict()

我想创建许多词典来存储一组员工的个人信息。一个人的名字将在创建空字典时用作唯一的名字。员工姓名存储在文件(info.txt)中,每一行只有一个名字。

#info.txt
Alan
John
Fiona
... x Repeat N times

文件中名称或条目的数量是无法预测的,因此我希望有一个灵活的代码来处理这种情况。 我的代码将读取每一行,并尝试为每位员工创建一个空的Dictionary。但是,由于未定义字典,因此我的代码无法正常工作。

#read employee name from file
infoFile = open("info.txt","r")

#read every line and create Dictionary for each employee
for infoFileLine in infoFile:
    if not infoFileLine.strip():
        pass

    else:
        print("%s" %infoFileLine)
        designFileLine = dict()

#update employee personal info
Alan["Age"] = 36
Alan["Height"] = 180
John["Age"] = 36
John["Height"] = 180

我是Python的新手,那么上面的代码有什么问题?还是有其他更好的方法呢? 预先谢谢你。

1 个答案:

答案 0 :(得分:1)

您应该制作包含其他词典的主词典。这是一个简短的示例:

master = {}
names = ["Alan", "Peter"]

for n in names:
    master[n] = {}
print(master)

输出为:

{'Alan': {}, 'Peter': {}}

只需将我的names数组更改为一种file.readLines()方法,它应该可以工作。