我的老师教我们如何使用“exec”,但我得到了一个错误:
UnicodeDecodeError: 'cp950' codec can't decode byte 0xe6 in position 1814: illegal multibyte sequence
我使用:
exec(open("somefile.py").read())
如何解决这个问题?
最佳答案
鉴于这大概是 Python 3 源代码,可能的编码是 UTF-8(它是 Python 3 源代码的标准编码)。
如果是这种情况,将 open("somefile.py")
更改为 open("somefile.py", encoding="utf-8")
将指定显式编码,覆盖区域设置默认值,这应该允许您正确读取它。
对于惯用代码,您还需要使用 with
语句(以保证文件的确定性关闭),使其:
with open("somefile.py", encoding="utf-8") as f:
exec(f.read())
关于python - 读取文本文件时如何修复此 cp950 "illegal multibyte sequence"UnicodeDecodeError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49021589/