【发布时间】:2019-09-06 14:55:46
【问题描述】:
我有一个具有不同输入的文本输入文件,如下所示,分别以字典和列表格式存储。部分文本文件如下:
#Drive-Size-Mapping
{'root' : 50 , '\usr' : 20, 'swap' : 1}
#OS-Version
[7.1, 7.2, 7.3, 7.4, 7.5, 7.6]
如您所见,第一行是字典格式,第二行是列表格式。 现在,当我在变量中读取和存储行时,Python 无法识别格式。这是我正在尝试的代码:
f=open("C:\\Users\xyz\\Desktop\\Inputs.txt")
lines=f.readlines()
i = lines.index("#Drive-Size-Mapping\n")
di=dict()
di = lines[i+1]
print(di[0])
j = lines.index("#OS-Version\n")
list = lines[j+1]
print(list[0])
上面的代码是:
{ {
即它只打印数组的第一个数组索引中存在的项目。
我希望 python 将这些变量分别解释为字典和列表。所以,如果我这样做print di["root"]
我的代码应该将其识别为字典并打印为50。和
print(list[0]) 应该将其识别为列表并输出7.1.
请告诉我应该如何操作文件行,以便让 python 以它们实际存在的格式解释它们?
谢谢
【问题讨论】:
-
di = lines[i+1]完全覆盖了di = dict()。index只返回它遇到的第一个实例,因此也不适合重复数据。
标签: python list dictionary file-handling