2013-10-07 77 views
3

我需要從一個文件中將字符串轉換爲一個整數。有問題的字符串只是一個數字。Python:將一個字符串轉換爲一個整數

L= linecache.getline('data.txt', 1) 
L=int(L) 

print L 

我收到的錯誤:

ValueError: invalid literal for int() with base 10: '\xef\xbb\xbf3\n' 

如何此字符串轉換爲整數?

+3

@MattBall無重複的。您鏈接的內容與意外物料清單無關,這會影響此問題的作者。 – Hyperboreus

回答

4

你的文件以BOM開頭。在嘗試解析數字之前剝離它。

5

該文件包含UTF-8 BOM。

>>> import codecs 
>>> codecs.BOM_UTF8 
'\xef\xbb\xbf' 

linecache.getline不支持編碼。

使用codecs.open

with codecs.open('data.txt', encoding='utf-8-sig') as f: 
    L = next(f) 
    L = int(L) 
    print L 
相關問題