Python:将字符串转换为整数

时间:2013-10-07 03:15:31

标签: python string int

我需要将字符串从我拥有的文件转换为整数。有问题的字符串只是一个数字。

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

print L   

我收到错误:

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

如何将此字符串转换为整数?

2 个答案:

答案 0 :(得分: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   

答案 1 :(得分:4)

您的文件以BOM开头。在尝试解析数字之前将其删除。