解決python3 HTMLTestRunner測(cè)試報(bào)告中文亂碼的問(wèn)題
使用HTMLTestRunner輸出的測(cè)試報(bào)告中,標(biāo)題和錯(cuò)誤說(shuō)明的中文亂碼。
環(huán)境:
python v3.6
HTMLTestRunner v0.8.2
定位問(wèn)題
剛開(kāi)始以為是python3對(duì)HTMLTestRunner文件兼容的問(wèn)題。網(wǎng)上搜了一些解決辦法基本都是說(shuō)python2的,對(duì)比看了一下,我這邊兼容性是可以的。
接下來(lái),查看HTMLTestRunner文件輸出,倒著去找,最后問(wèn)題定位到:
self.stream.write(output)
這一行,print(output)是正常輸出中文的,但是write()就是亂碼。
其中,stream是運(yùn)行生成報(bào)告時(shí),傳的stream參數(shù),stream傳空時(shí),stream=sys.stdout,我這邊傳的是一個(gè)打開(kāi)文件:
outfile = open(filename, 'w')
那么問(wèn)題就是,outfile.write(output)時(shí)中文亂碼。
解決方案
* 有兩種解決辦法 *
1、打開(kāi)寫(xiě)入文件時(shí)設(shè)置編碼
outfile = open(filename, 'w', encoding='utf-8')
2、打開(kāi)文件時(shí)未設(shè)置編碼,但寫(xiě)入方式設(shè)置為'wb';并且,output字符串encode()成utf-8編碼。
以上這篇解決python3 HTMLTestRunner測(cè)試報(bào)告中文亂碼的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python三角函數(shù)公式計(jì)算三角形的夾角案例
這篇文章主要介紹了使用Python三角函數(shù)公式計(jì)算三角形的夾角案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-0420個(gè)解決日常編程問(wèn)題的Python代碼分享
在這篇文章中,主要和大家分享了20個(gè)Python代碼片段,以幫助你應(yīng)對(duì)日常編程挑戰(zhàn)。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟上小編一起了解一下2023-01-01Python datetime時(shí)間格式化去掉前導(dǎo)0
Python datetime時(shí)間格式化去掉前導(dǎo)0,在format string的%與flag之間,添加一個(gè)“-”即可2014-07-07pyecharts調(diào)整圖例與各板塊的位置間距實(shí)例
這篇文章主要介紹了pyecharts調(diào)整圖例與各板塊的位置間距實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05python實(shí)現(xiàn)ftp客戶(hù)端示例分享
這篇文章主要介紹了python實(shí)現(xiàn)ftp客戶(hù)端示例,包括ftp的常見(jiàn)任務(wù),上傳,下載,刪除,更名等功能,需要的朋友可以參考下2014-02-02解決python的空格和tab混淆而報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了解決python的空格和tab混淆而報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02