现在的位置: 首页 > 软件测试 > 测试技术 > 正文

Python报错ValueError: invalid literal for int() with base 10: ‘\xef\xbb\xbf1′

2016年05月20日 测试技术 ⁄ 共 392字 ⁄ 字号 评论关闭 ⁄ 阅读 1,295 次

本文主要解决Python脚本报错ValueError: invalid literal for int() with base 10: '\xef\xbb\xbf1'问题。

出现场景:在打开UTF-8格式文件后,进行int类型转换时报错。

出错代码如下:

with open(file) as f:

for i in f:

print int(i.split(','))

报错如下:

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

 

解决方法:

使用codecs.open 打开文件,它以UTF-8格式解码并忽略文件的初始BOM,最后返回Unicode的数据。

代码如下:

import codecs

with codecs.open(file, "r", "utf-8-sig") as f:
	for i in f:
		print int(i.split(','))

抱歉!评论已关闭.