我的老师教我们如何使用“exec”,但我得到了一个错误:
UnicodeDecodeError: 'cp950' codec can't decode byte 0xe6 in position 1814: illegal multibyte sequence
I use:
exec(open("somefile.py").read())
如何解决这个问题?
鉴于这可能是 Python 3 源代码,因此可能的编码是 UTF-8(它是 Python 3 源代码的标准编码)。
如果是这样的话,改变open("somefile.py")
to open("somefile.py", encoding="utf-8")
将显式指定编码,覆盖区域设置默认值,这应该允许您正确读取它。
对于惯用代码,您还需要使用with
语句(以保证文件的确定性关闭),使其:
with open("somefile.py", encoding="utf-8") as f:
exec(f.read())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)