赞
踩
有时当我们拉下 Python 项目运行时,可能出现类似报错:
File "D:\py\Python38\lib\configparser.py", line 697, in read
self._read(fp, filename)
File "D:\py\Python38\lib\configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 108: illegal multibyte sequence
这很可能是因为在 Windows 系统运行时,没有显式地指定 configparser 包的编码,导致 configparser 在调用 Python 内置函数 open 时未指定 encoding 参数,进而导致自动读取了 Windows 的系统默认编码 GBK,进而因为 GBK 无法解析包含 UTF - 8 的中文的配置文件导致报错。
config_parser = ConfigParser()
config_parser.read(path, encoding="UTF-8")
通过在命令提示符中执行 chcp 65001
指定 UTF - 8 未默认编码未生效。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。