【发布时间】:2016-11-05 10:12:38
【问题描述】:
我正在尝试运行以下命令:
import json
path = 'ch02/usagov_bitly_data2012-03-16-1331923249.txt'
records = [json.loads(line) for line in open(path)]
但我收到以下错误:
UnicodeDecodeError: 'ascii' 编解码器无法在位置解码字节 0xe2 6987: 序数不在范围内(128)
从网上我发现应该是因为编码需要设置为utf-8,但我的问题是它已经在utf-8中了。
sys.getdefaultencoding()
Out[43]: 'utf-8'
另外,看起来我的文件是 utf-8 格式,所以我真的很困惑 此外,以下代码有效:
In [15]: path = 'ch02/usagov_bitly_data2012-03-16-1331923249.txt'
In [16]: open(path).readline()
有没有办法解决这个问题?
谢谢!
编辑:
当我在控制台中运行代码时它可以工作,但当我在 Anaconda (https://www.continuum.io/downloads) 提供的 Spyder 中运行它时就不行了
你知道会出什么问题吗?
【问题讨论】:
标签: python python-3.x encoding anaconda spyder