如何在读取文本文件时修复此cp950“非法多字节序列”UnicodeDecodeError?

时间:2018-02-28 03:38:52

标签: python python-3.x

我的老师告诉我们如何使用“exec”,但我收到了一个错误:

UnicodeDecodeError: 'cp950' codec can't decode byte 0xe6 in position 1814: illegal multibyte sequence

我用:

exec(open("somefile.py").read())

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

鉴于这可能是Python 3的源代码,可能的编码是UTF-8(它是Python 3源代码的标准编码)。

如果是这种情况,将x-zumo-token更改为open("somefile.py")会明确指定编码,覆盖区域设置默认值,这样可以让您正确读取它。

对于惯用代码,您还希望使用open("somefile.py", encoding="utf-8")语句(以确保文件的确定性关闭),使其成为:

with