我是python的新手。我的第一个任务是从.txt文件(输入文件)中的表创建一个字典。 当我在python
中打印输入文件时>temp = open ("input.txt", 'r')
>temp.readlines()
['Traget1\t\score1\r\n', 'Target2\tscore2\r\n', .... 'Target26\tscore26']
我尝试创建字典: `
temp = open ("input.txt", 'r')
d = {}
for line in temp.readlines():
target, score = line.split("\t")
d[target] = float (score)
print d
`
结果: {'目标1:得分1','目标2:得分2',......'目标26:得分26'}
字典已创建,但是,我遇到了一些代码,它们使用.strip()从输入文件的每一行中删除字符\ r \ n。我很困惑为什么我不必包含.strip()并仍然可以创建字典? 谢谢你的帮助。
答案 0 :(得分:2)
score
将包含尾随的换行符,但这不是问题,因为float()
接受它:
>>> float("35\r\n")
35.0
现在,如果你有一个字符串(例如:在你的例子中,这两个字段是相反的顺序)你就遇到了问题。
注意:您的文件中的内容非常具有误导性。 float
是你在那里有数字的唯一暗示。