【发布时间】:2020-05-12 06:12:31
【问题描述】:
我有一个输入文件Input.txt,在输入中我的内容为
Name1=Value1
Name2=Value2
Name3=Value3
现在从输入文件中,我可以根据新行拆分值。下一个任务是将名称和值对存储在 Dictionary 中。我尝试了以下方法,
with open("Input.txt", "r") as param_file:
for line in param_file:
str = line.split()
d = dict(x.split("=") for x in str.split("\n"))
for k,v in d.items():
print(k, v)
但这给了我错误:AttributeError: 'list' object has no attribute 'split' 我知道列表没有拆分功能,这就是我得到这个的原因。实现这一点的正确方法是什么?
预期输出是:
Name1 Value1
Name2 Value2
Name3 Value3
【问题讨论】:
-
好吧,
str在您的示例中是一个列表(split()产生一个列表)。此外,调用内置函数等变量通常是不明智的。 -
您正在使用
.split()在str = line.split()行中创建一个列表。我认为您可能打算使用.strip()删除该行中的空格。该行应该类似于str = line.strip()。其余代码看起来不错。 -
是的,这就是我收到该错误的原因。如何解决这个问题并用'='符号分割?
标签: python list dictionary split