pytest在ini文件加入中文注释后报错‘gbk‘ codec can‘t decode byte 0xa1 in position 12: illegal multibyte sequence

一、问题出现的场景在学习pytest框架时,用到ini文件在ini文件内使用分号;加入注释后,再次运行脚本报错加入注释的脚本; 以下是配置参数[pytest]addopts = -vs --reruns=2 --html=./report.html再次运行代码import pytestif __name__ == '__main__': pytest.main()会读取该ini文件,结果报错了,报错内容:UnicodeDecodeError: 'gbk'
摘要由CSDN通过智能技术生成

一、问题出现的场景

在学习pytest框架时,用到ini文件

在ini文件内使用分号;加入注释后,再次运行脚本报错

加入注释的脚本

; 以下是配置参数

[pytest]
addopts = -vs --reruns=2 --html=./report.html

再次运行代码

import pytest

if __name__ == '__main__':
    pytest.main()

会读取该ini文件,结果报错了,报错内容:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xb0 in position 53: illegal multibyte sequence

二、解决方法

修改ini文件的编码格式为GBK并执行。

1、先选中ini文件

2、选择文件编码

3、 选中GBK格式

 4、重新加载该文件

三、再次执行代码,不会报错了,正常运行

参考文章:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`pytest.ini` 文件是一个 pytest 测试框架用来自定义配置的文件,它通常包含测试运行的一些选项和规则。如果遇到 `UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd1 in position 33: invalid continuation byte` 这样的错误,这通常意味着你在 `.ini` 文件中使用了非 UTF-8 编码的文本,而 pytest 预期的是 UTF-8 格式。 1. 首先,检查 `pytest.ini` 的编码设置。确保文件开头有一个明确的声明,比如 `# coding=utf-8` 或 `# -*- coding: utf-8 -*-`,告诉 Python 文件是以 UTF-8 编码的。 2. 如果文件没有明确指定编码,尝试用文本编辑器将文件另存为 UTF-8 编码格式,通常可以在文件菜单中的“另存为”选项中选择。 3. 清空文件,然后重新创建,确保从头开始编写配置,这样可以避免引入可能存在问题的旧字符。 4. 检查文件内容是否有非ASCII字符,特别是那些在UTF-8编码范围外的字符,如果有的话,可能需要替换或调整这些字符。 5. 如果是在 Windows 上,有时候文件可能会被自动设置为其他编码,可以尝试右键点击文件,选择“属性”,检查“编码”部分是否为 UTF-8。 6. 如果以上步骤都无法解决问题,可能是外部工具(如版本控制系统)导致的问题,确保这些工具也正确配置了文件编码。 相关问题: 1. 如何在Python中设置文件的编码? 2. 为何要在pytest.ini中明确指定编码? 3. Windows系统下如何查看和更改文件的编码?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值