python ini文件包含中文时报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x8c 的解决办法

简介: python ini文件包含中文时报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x8c 的解决办法

一、前置说明


比如你想在pytest.ini文本中使用中文做一些注释说明:

[pytest]
# 在运行 Pytest 时的一些额外选项
# -v 表示详细输出,显示更详细的测试结果
# -s 表示在控制台输出标准输出(print 语句)
addopts = -v -s
# log_cli = 1 表示启用在控制台输出日志,1 表示启用,0 表示禁用
log_cli = 1
# log_cli_level = DEBUG 表示在控制台输出的日志的级别为 DEBUG
log_cli_level = DEBUG
# log_cli_format 定义了在控制台输出的日志的格式
# %(asctime)s 表示日志的时间戳
# %(filename)s 表示产生日志的文件名
# %(lineno)d 表示产生日志的代码行号
# %(funcName)s 表示产生日志的函数名
# %(levelname)s 表示日志的级别(例如,INFO、DEBUG、ERROR)
# %(message)s 表示实际的日志消息
log_cli_format = %(asctime)s - %(filename)s:%(lineno)d - %(funcName)s - %(levelname)s - %(message)s

但是运行时,会提示:

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x8c in position 20: illegal multibyte sequence


二、解决办法


问题原因:IniConfig类解析文件时没有指定encoding='utf-8'。解决办法就是在错误日志中点击连接跳转至iniconfig的__init__.py文件f = open(self.path)修改为f = open(self.path, encoding='utf-8')

选择强制修改,然后重启IDE即可。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
关系型数据库 MySQL Python
python安装MySQL-python:EnvironmentError解决办法
python安装MySQL-python:EnvironmentError解决办法
229 1
|
数据库 Python
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
|
数据采集 Linux 网络安全
python 爬虫遇到的aiohttp证书错误解决办法
python 爬虫遇到的aiohttp证书错误解决办法
995 0
|
编解码 开发者 Python
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
1626 1
|
JavaScript Python
Python代码中的# -*- coding: gbk -*-
由于 Python 默认使用 ASCII 编码来解析源代码,因此如果源文件中包含了非 ASCII 编码的字符(比如中文字符),那么解释器就可能会抛出 SyntaxError 异常。加上# -*- coding: gbk -*-这样的注释语句可以告诉解释器当前源文件的字符编码格式是 GBK,从而避免源文件中文字符被错误地解析
475 6
|
Python
Pycharm为Python项目配置环境不生效,解决办法
在PyCharm中,项目依赖配置更改后未生效。解决步骤包括:1) 查找`C:\Users\username\AppData\Roaming\JetBrains\PyCharm2022.2\options\jdk.table.xml`,2) 删除`<jdk></jdk>`标签内的旧配置内容,然后重启PyCharm以应用新目录。
1722 0
Pycharm为Python项目配置环境不生效,解决办法
|
API 开发工具 Python
【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法
【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法
216 0
|
编解码 程序员 开发者
【Python】已解决:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa1 in position 0: invalid start by
【Python】已解决:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa1 in position 0: invalid start by
12430 0
|
编解码 Python Windows
Python写入文件报错‘gbk’ codec can’t encode character的解决办法
Python写入文件报错‘gbk’ codec can’t encode character的解决办法
1087 2
|
Java
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
497 0

热门文章

最新文章

推荐镜像

更多