日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python文件输出中文_【python】中文的输出,打印,文件编码问题解决方法

發(fā)布時(shí)間:2024/9/19 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python文件输出中文_【python】中文的输出,打印,文件编码问题解决方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

直接在python中輸入中文的字符串會報(bào)編譯錯誤SyntaxError: Non-ASCII character,因?yàn)閜ython文件默認(rèn)編碼方式是ASCII。如果想要打印中文字符,有兩種方式:

1.在文件第一行加入# -*- coding: UTF-8 –*-,修改文件的默認(rèn)編碼方式。然后直接在python 文件編輯中文字符串即可,例如:string = “中文”

2. 將需要打印的中文字符轉(zhuǎn)化成unicode編碼并且加上u,例如要打印“我們”,則寫成u“\u6211\u4eec”

print u'\u6211\u662f'

3. 如果遇到 類似UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0錯誤,因?yàn)樵诙x中文字符串變量時(shí)候,沒有加上u,例如:string = “中文”而不是string = u“中文”,

這個時(shí)候python會把按照默認(rèn)的中文字符串用ASCII進(jìn)行編碼,則可能會出現(xiàn)一些錯誤,要想吧類似string = “中文”的字符串用utf8編碼,在文件前面加上如下代碼即可:

1 importsys2 reload(sys)3 sys.setdefaultencoding('utf8')

4.字符串前面加了U之后會變成unicode類型,這時(shí)候是python獨(dú)立的一種類型,如果直接寫入字符類型的數(shù)據(jù)庫字段或者當(dāng)成字符串進(jìn)行操作,可能會遇到意想不到的錯誤。

5. 如何吧一個 string = '\u5168\u56fd'變成 unicode類型?

用eval("u"+"'\u5168\u56fd'")方法即可

6. scrapy網(wǎng)絡(luò)爬蟲中文亂碼問題解決

(1)判斷抓取網(wǎng)頁字符編碼格式

importchardet

code_format= chardet.detect(response.body)["encoding"]

(2)根據(jù)獲取的編碼方式進(jìn)行解碼,然后采用系統(tǒng)默認(rèn)方式編碼

importsys

type=sys.getfilesystemencoding()

response.body.decode(code_format).encode(type)

總結(jié)

以上是生活随笔為你收集整理的python文件输出中文_【python】中文的输出,打印,文件编码问题解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。