解决python3 HTMLTestRunner测试报告中文乱码的问题


Posted in Python onDecember 17, 2018

使用HTMLTestRunner输出的测试报告中,标题和错误说明的中文乱码。

环境:

python v3.6

HTMLTestRunner v0.8.2

定位问题

刚开始以为是python3对HTMLTestRunner文件兼容的问题。网上搜了一些解决办法基本都是说python2的,对比看了一下,我这边兼容性是可以的。

接下来,查看HTMLTestRunner文件输出,倒着去找,最后问题定位到:

self.stream.write(output)

这一行,print(output)是正常输出中文的,但是write()就是乱码。

其中,stream是运行生成报告时,传的stream参数,stream传空时,stream=sys.stdout,我这边传的是一个打开文件:

outfile = open(filename, 'w')

那么问题就是,outfile.write(output)时中文乱码。

解决方案

* 有两种解决办法 *

1、打开写入文件时设置编码

outfile = open(filename, 'w', encoding='utf-8')

2、打开文件时未设置编码,但写入方式设置为'wb';并且,output字符串encode()成utf-8编码。

以上这篇解决python3 HTMLTestRunner测试报告中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现发送email的几种常用方法
Aug 18 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python中os模块详解
Oct 14 Python
python 接口返回的json字符串实例
Mar 27 Python
pandas 数据实现行间计算的方法
Jun 08 Python
python实现自动化上线脚本的示例
Jul 01 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
基于Python计算圆周率pi代码实例
Mar 25 Python
Python 多线程共享变量的实现示例
Apr 17 Python
python TCP包注入方式
May 05 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
Python实现生成bmp图像的方法
Jun 13 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 #Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 #Python
python实现三次样条插值
Dec 17 #Python
Python命名空间的本质和加载顺序
Dec 17 #Python
对python的unittest架构公共参数token提取方法详解
Dec 17 #Python
Python单元测试unittest的具体使用示例
Dec 17 #Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 #Python
You might like
PHP include_path设置技巧分享
2011/07/03 PHP
php 文本文件的读取效率
2012/02/10 PHP
php动态生成函数示例
2014/03/21 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
Python 正则表达式(转义问题)
2014/12/15 Python
python Django模板的使用方法
2016/01/14 Python
Python算术运算符实例详解
2017/05/31 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
浅谈python标准库--functools.partial
2019/03/13 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
联谊会主持词
2014/03/26 职场文书
作风建设演讲稿
2014/05/23 职场文书
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis