具体来说,我有一个多行排列的文本文件,因此每个条目的键是一组的第一行,然后是其相关值,然后是下一个键之前的换行符。我很难使用 while 循环来通过 readline 完成此任务。
比如第一行可能是一个餐厅的名字,接下来是几行在那里用餐的顾客,然后我需要将这些值写入以餐厅名称为键的字典中。
我真的不熟悉文件读取,所以我担心我所拥有的东西真的帮不上什么忙。
我猜是这样的,但它甚至还没有达到半功能的程度。
编辑:感谢您的回复,我应该澄清一下,相应键的每个值项都列在该键之后的后续行中,该列表末尾的空行位于下一个键之前。不幸的是,我也不得不在这里使用 readline 方法。
restaurants = {}
patrons = []
line = file.readline()
s = line.strip('\n')
while s != ''
restaurant = s
line = file.readline
patrons.append(s)
请您参考如下方法:
假设您的文本文件如下所示
mcdonalds bill bo bob
根据
I have a text file with multiple lines arranged so that the key of each entry is the first line of a group, followed by its related values, followed by a newline
my_dict = {}
with open("rest.txt", 'r') as f:
for line in f:
items = line.split()
key, values = items[0], items[1:]
my_dict[key] = values
print my_dict
会产生
{'mcdonalds': ['bill', 'bo', 'bob']}
