2013-08-05 72 views
0

我是python的新手。我的第一個任務是從.txt文件(輸入文件)中的表中創建一個字典。 當我打印在python使用.strip()從txt文件創建字典

>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 

`

結果: { 'Target1時:1分',「目標2: score2',...'Target26:score26'}

字典被創建,但是,我遇到了一些使用.strip()去代碼的代碼來自輸入文件每一行的字符\ r \ n。我很困惑,爲什麼我不必包含.strip()並仍然可以創建字典? 感謝您的幫助。

回答

2

score將包含尾部的換行符(S),但是這不是一個問題,因爲float()接受它:現在

>>> float("35\r\n") 
35.0 

,如果你有一個字符串出現(例如:在你的例子中的兩個領域是相反的順序)你有問題。

注意:您的示例文件中包含的內容是,極其有誤導。 float是您有數字的唯一提示。