最近一直在研究python+selenium+beautifulsoup的爬蟲,但是存入數據庫還有寫入txt文件里面的時候一直都是unicode編碼的格式。
接下來就是各種翻閱文檔,查找谷歌和度娘,但是都沒有具體的說明是什么問題。
結果根據自己的代碼發現,原來是一句代碼寫到后面去了。
1
2
3
4
5
|
name = json.dumps('中國你好', ensure_ascii=False) #重點就是這一句代碼 date = time.strftime('%Y-%m-%d', time.localtime(time.time())) #此處是時間轉換 f = codecs.open(date + '.txt', 'a', 'utf-8') f.write('%s\n\n' % name) f.close() |
分析 json.dumps('中國你好')
'中國你好' 是ascii 字符碼,而不是真正的中文。
這是因為json.dumps 序列化時對中文默認使用的ascii編碼
想輸出真正的中文需要指定ensure_ascii=False
json.dumps中可以放置json字符串,但是也必須指定ensure_ascii=False
json.dumps : dict轉成str
以上這篇淺談python中對于json寫入txt文件的編碼問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/u011615787/article/details/73089523