最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python中print如何正確使用

Python中print如何正確使用,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、北流網(wǎng)站維護(hù)、網(wǎng)站推廣。

Python print會(huì)對輸出的文本做自動(dòng)的編碼轉(zhuǎn)換,而文件對象的write方法就不會(huì)做,因此,當(dāng)一些字符串用print輸出正常時(shí),write到文件確不一定和print的一樣。print轉(zhuǎn)換的目的編碼和環(huán)境變量有關(guān),Windows XP是轉(zhuǎn)換為gbk的。在linux下是按照環(huán)境變量來轉(zhuǎn)換的。在linux下使用locale命令就可以看到。比如我的是:

[zhaowei@papaya zhaowei]$ locale  LANG=zh_CN LC_CTYPE="zh_CN" LC_NUMERIC="zh_CN" LC_TIME="zh_CN" LC_COLLATE="zh_CN" LC_MONETARY="zh_CN" LC_MESSAGES="zh_CN" LC_PAPER="zh_CN" LC_NAME="zh_CN" LC_ADDRESS="zh_CN" LC_TELEPHONE="zh_CN" LC_MEASUREMENT="zh_CN" LC_IDENTIFICATION="zh_CN" LC_ALL=

這個(gè)時(shí)候會(huì)認(rèn)為是gb2312的。在python中可以用locale模塊來獲得當(dāng)前環(huán)境的編碼:

import locale  print locale.getdefaultlocale()

Python print在輸出時(shí)把字符串自動(dòng)裝換為這個(gè)編碼??纯聪旅?,"喆"這個(gè)字是很著名的一個(gè)在gb2312中沒有的字,當(dāng)把它轉(zhuǎn)換為gb2312的時(shí)候是會(huì)出錯(cuò)的。

#-*- encoding: gb18030 -*-  import locale  import sys, encodings, encodings.aliases  # 現(xiàn)在a是unicode的  a = u'喆' print a.encode("gb2312")

上面這段代碼會(huì)報(bào)異常,就是這個(gè)原因。但如果是直接 print a 就可以輸出來 (假設(shè)你的環(huán)境變量是GBK或者GB18030或者UTF-8)。如果你的環(huán)境變量是GB2312的,那這個(gè)print一樣會(huì)報(bào)錯(cuò)!所以在處理其他地方來 的文本數(shù)據(jù)時(shí),***不要用GB2312的編碼,是中文數(shù)據(jù),一定要用GB18030或者UTF-8!

而用文件對象的write寫unicode的數(shù)據(jù)也是會(huì)出錯(cuò)的!需要做編碼轉(zhuǎn)換

#-*- encoding: gb18030 -*-  import locale  import sys, encodings, encodings.aliases  # 現(xiàn)在a是unicode的  a = u'喆' f = open("aaa.txt", "w")  f.write(a)  f.close()

看完上述內(nèi)容,你們掌握Python中print如何正確使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


本文標(biāo)題:Python中print如何正確使用
URL網(wǎng)址:http://fisionsoft.com.cn/article/ieoiip.html