日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Pythonprint正確使用方法淺析

Python編程語言是一款比較新穎的編程語言,相對(duì)于其他語言來說,有很多不同的特點(diǎn)引起了大多數(shù)開發(fā)人員的興趣。在這里我們可以先從Python print的相關(guān)應(yīng)用方法來分析,初步了解這一語言的應(yīng)用方式。

專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)昭化免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

Python print會(huì)對(duì)輸出的文本做自動(dòng)的編碼轉(zhuǎn)換,而文件對(duì)象的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命令就可以看到。比如我的是:

 
 
 
  1. [zhaowei@papaya zhaowei]$ locale  
  2. LANG=zh_CN 
  3. LC_CTYPE="zh_CN" 
  4. LC_NUMERIC="zh_CN" 
  5. LC_TIME="zh_CN" 
  6. LC_COLLATE="zh_CN" 
  7. LC_MONETARY="zh_CN" 
  8. LC_MESSAGES="zh_CN" 
  9. LC_PAPER="zh_CN" 
  10. LC_NAME="zh_CN" 
  11. LC_ADDRESS="zh_CN" 
  12. LC_TELEPHONE="zh_CN" 
  13. LC_MEASUREMENT="zh_CN" 
  14. LC_IDENTIFICATION="zh_CN" 
  15. LC_ALL= 

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

 
 
 
  1. import locale  
  2. print locale.getdefaultlocale() 

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

 
 
 
  1. #-*- encoding: gb18030 -*-  
  2. import locale  
  3. import sys, encodings, encodings.aliases  
  4. # 現(xiàn)在a是unicode的  
  5. a = u'喆' 
  6. 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!

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

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

以上就是我們對(duì)Python print的相關(guān)介紹。


名稱欄目:Pythonprint正確使用方法淺析
URL分享:http://www.5511xx.com/article/ccdcodi.html