python文件输出中文_【python】中文的输出,打印,文件编码问题解决方法
直接在python中輸入中文的字符串會報編譯錯誤SyntaxError: Non-ASCII character,因為python文件默認編碼方式是ASCII。如果想要打印中文字符,有兩種方式:
1.在文件第一行加入# -*- coding: UTF-8 –*-,修改文件的默認編碼方式。然后直接在python 文件編輯中文字符串即可,例如:string = “中文”
2. 將需要打印的中文字符轉化成unicode編碼并且加上u,例如要打印“我們”,則寫成u“\u6211\u4eec”
print u'\u6211\u662f'
3. 如果遇到 類似UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0錯誤,因為在定義中文字符串變量時候,沒有加上u,例如:string = “中文”而不是string = u“中文”,
這個時候python會把按照默認的中文字符串用ASCII進行編碼,則可能會出現一些錯誤,要想吧類似string = “中文”的字符串用utf8編碼,在文件前面加上如下代碼即可:
1 importsys2 reload(sys)3 sys.setdefaultencoding('utf8')
4.字符串前面加了U之后會變成unicode類型,這時候是python獨立的一種類型,如果直接寫入字符類型的數據庫字段或者當成字符串進行操作,可能會遇到意想不到的錯誤。
5. 如何吧一個 string = '\u5168\u56fd'變成 unicode類型?
用eval("u"+"'\u5168\u56fd'")方法即可
6. scrapy網絡爬蟲中文亂碼問題解決
(1)判斷抓取網頁字符編碼格式
importchardet
code_format= chardet.detect(response.body)["encoding"]
(2)根據獲取的編碼方式進行解碼,然后采用系統默認方式編碼
importsys
type=sys.getfilesystemencoding()
response.body.decode(code_format).encode(type)
總結
以上是生活随笔為你收集整理的python文件输出中文_【python】中文的输出,打印,文件编码问题解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学者python编辑器用geany可以
- 下一篇: recv返回值为0_基于GNES和Ten