欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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è)資訊頻道,感謝各位的閱讀!

網(wǎng)頁標(biāo)題:Python中print如何正確使用
標(biāo)題鏈接:http://www.chinadenli.net/article8/ieoiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google標(biāo)簽優(yōu)化微信小程序動(dòng)態(tài)網(wǎng)站網(wǎng)站營銷面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司