python3 x 中文輸入到檔案中亂碼

2021-08-21 12:30:51 字數 554 閱讀 4959

出現了與本文中相同的錯誤,完美解決了問題,記錄一下。

【背景】: 我搭建了乙個django的專案,想將專案執行過程中的日誌輸出到檔案中,但是django本身提供的日誌模組我還不會用,所以打算自己寫乙個

【問題】:直接用print語句在控制台輸出中文木有問題,但是一旦儲存到檔案中就亂碼了

開始我是這樣寫的

# coding:utf-8

a = "測試"

open("log.txt","w").write(a)

發現輸出的到檔案中顯示亂碼:

����
【原因】: python3預設是unicode編碼,如果字元儲存到檔案中顯示中文,需要做一次解碼

【解決方案】:

# coding:utf-8

a = "測試"

print(a)

# open("log.txt","w").write(a)

open("log.txt","wb").write(a.encode("utf-8"))

中文能正常在檔案中顯示:

測試

Python3 x編碼問題

1.記事本的ansi編碼為系統本地編碼,我的是gbk open 函式的encoding引數預設是本地編碼,也就是gbk,所以直接讀取ansi編碼的記事本檔案是木有問題的。怎麼檢視系統本地編碼?在cmd下輸入 chcp 從下表可以看出,936對應gbk編碼 下表列出了所有支援的 頁及其國家 地區 或者...

Python 內建函式(Python 3 x)

1 type obj 返回變數型別 2 isinstance object,class or type or tuple 測試物件是否為指定型別的例項 4 range start,end step 返回乙個 start,end 內的 range 物件,start 預設為 0,step 預設為 1 5...

python3 x生成html形式,檔案差異對比

importdifflib importsys try textfile1 sys.argv 1 第乙個配置檔案路徑引數 textfile2 sys.argv 2 第二個配置檔案路徑引數 exceptexception ase print error str e print usage python...