私が持っているファイルの文字列を整数に変換する必要があります。問題の文字列は 1 つの数字です。
L= linecache.getline('data.txt', 1)
L=int(L)
print L
次のエラーが表示されます。
ValueError: invalid literal for int() with base 10: '\xef\xbb\xbf3\n'
この文字列を整数に変換するにはどうすればよいですか?
ファイルには 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
ファイルはBOMで始まります。数値を解析する前に削除してください。