解决python3 HTMLTestRunner测试报告中文乱码的问题
作者:monkey7777 发布时间:2021-10-19 04:34:06
标签:python3,HTMLTestRunner
使用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编码。
来源:https://blog.csdn.net/monkey7777/article/details/74989412


猜你喜欢
- 制作圆角导航其实跟制作圆角边框是一样的道理,有一种很常见的方法就是使用CSS绝对定位,切四个圆角的小图片,然后分别定位在四个角,这样就可以实
- 假定业务:查看在职员工的薪资的第二名的员工信息创建数据库drop database if exists emps;create databa
- 本文实例讲述了python实现备份目录的方法。分享给大家供大家参考。具体如下:备份脚本1:#!/usr/bin/python# Filena
- 如果一些应用需要到中文字体(如果pygraphviz,不安装中文字体,中文会显示乱码),就要在image 中安装中文字体。默认 python
- 前段时间喜欢用python去抓一些页面玩,但都基本上都是用get请求一些页面,再通过正则去过滤。今天试了一下,模拟登陆个人网站。发现也比较简
- 1、简介APScheduler是一个 Python 定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及 crontab 类型的
- 本文实例为大家分享了Python3实现飞机大战游戏的具体代码,供大家参考,具体内容如下1、主程序:plane_main.pyimport p
- 本文实例讲述了Python使用time模块实现指定时间触发器。分享给大家供大家参考,具体如下:其实很简单,指定某个时间让脚本处理一个事件,比
- 程序比较大,运行时间又长的时候,不想等着结果,只要先确保程序功能正确无误,可以把需要的结果print然后保存到TXT文件中,超级方便# 创建
- PHP清除缓存的几种方法总结现在开发的项目是用tp3.1版本的,在开发过程中我们常常会遇到页面缓存的问题(特别是html的缓存);刷新后还是
- 最最简单的操作import numpy as npimport matplotlib.pyplot as pltfig = plt.figu
- 顺序表即线性表的顺序存储结构。它是通过一组地址连续的存储单元对线性表中的数据进行存储的,相邻的两个元素在物理位置上也是相邻的。比如,第1个元
- sys.path模块搜索路径的字符串列表。由环境变量PYTHONPATH初始化得到。sys.path[0]是调用Python解释器的当前脚本
- 在 Django 网站中使用 mailgun 的邮件收发服务。1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收
- Go语言要打印彩色字符与Linux终端输出彩色字符类似,以黑色背景高亮绿色字体为例:fmt.Printf("\n %c
- GitPython 是一个用于操作 Git 版本库的 python 包,它提供了一系列的对象模型(库 - Repo、树 - Tree、提交
- 迭代数组NumPy中引入了 nditer 对象来提供一种对于数组元素的访问方式。一、单数组迭代1. 使用 nditer 访问数组的每个元素&
- Anaconda安装安装步骤:1、官网下载安装包:https://www.anaconda.com/distribution/2、运行并选择
- # -*- coding: utf-8 -*- import httplibfrom urllib import urlencodeimpo
- 本文实例为大家分享了JavaScript实现QQ聊天室的具体代码,供大家参考,具体内容如下1. 任务要求1)掌握基本过滤选择器;2)掌握jQ