UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 1014: invalid start byte解决方法

这篇博客讨论了在运行Python脚本时遇到的UnicodeDecodeError,具体表现为'utf-8'编码无法解码某些字节。作者通过分析错误堆栈,发现问题源于文件编码不匹配。解决方案包括将文件编码更改为'gbk'、'gb2312'或'gb18030',或者删除代码中的中文字符或乱码。博客强调了正确处理文件编码的重要性,尤其是涉及中文字符时。
摘要由CSDN通过智能技术生成

问题报错:

Traceback (most recent call last):
  File "train_stage1.py", line 9, in <module>
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/site-packages/torch/__init__.py", line 613, in <module>
    _C._initExtension(manager_path())
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/site-packages/torch/cuda/__init__.py", line 167, in <module>
    _lazy_call(_check_capability)
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/site-packages/torch/cuda/__init__.py", line 165, in _lazy_call
    _queued_calls.append((callable, traceback.format_stack()))
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 197, in format_stack
    return format_list(extract_stack(f, limit=limit))
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 211, in extract_stack
    stack = StackSummary.extract(walk_stack(f), limit=limit)
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 363, in extract
    f.line
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/traceback.py", line 285, in line
    self._line = linecache.getline(self.filename, self.lineno).strip()
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/linecache.py", line 16, in getline
    lines = getlines(filename, module_globals)
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/linecache.py", line 47, in getlines
    return updatecache(filename, module_globals)
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/linecache.py", line 137, in updatecache
    lines = fp.readlines()
  File "/home/lab509-2/miniconda3/envs/MDNet/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa3 in position 1014: invalid start byte

解决办法1:
尝试将编码方式改为“gbk”或者“gb2312”以及“gb18030”之后,输出就正常了,这说明原来的中文字符是采用gbk/gb2312/gb18030编码的。
解决办法2:
可能是代码中存在中文字,或者其他乱码,将其删除即可。
参考:Python3错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd5 解决方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值