最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Python 字符編碼與文件處理

 更新時間:2020年09月24日 08:36:51   作者:Wuliwawa  
這篇文章主要介紹了Python 字符編碼與文件處理的相關資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下

Python字符編碼

目前計算機內(nèi)存的字符編碼都是Unicode,目前國內(nèi)的windows操作系統(tǒng)采用的是gbk。

python2默認的字符編碼方式是ASCII

python3默認的字符編碼方式是Unicode

.py文件頭部的#coding:utf-8是幫助python識別.py文件的編碼方式,故在寫.py文件時要注意文件頭和文件保存時的編碼方式要相同,否則可能會出現(xiàn)亂碼

python程序運行過程:

  1. python的解釋器現(xiàn)在內(nèi)存中啟動
  2. 解釋器把要運行的文件以文本文件的形式讀進內(nèi)存
  3. 解釋器按照文件的語法格式解釋執(zhí)行代碼

python2和python3程序的運行方式基本相同

python2的解釋器在運行程序時,將文件內(nèi)的代碼按照文件頭的編碼讀進內(nèi)存。例如文件頭部的編碼是gbk,python2讀進內(nèi)存的時候,直接把文件在硬盤里的gbk二進制編碼讀進內(nèi)存。如果在不是以gbk為默認編碼的終端輸出時,會出現(xiàn)亂碼。python2可以在字符串對象前加'u'表示Unicode字符,但是這樣就不是str變量了。雖然pyhton2也能支持Unicode編碼,但是這就像給python2打了一個大補丁。python2的Unicode對象就是python3str對象。

python3的解釋器就好多了,它在執(zhí)行文件內(nèi)的代碼之前會先將代碼按照文件頭的編碼轉(zhuǎn)換成Unicode編碼讀進內(nèi)存。這樣無論是在什么編碼的機器上運行,Unicode編碼都能很好的轉(zhuǎn)換成相應的編碼。

Python 文件處理

python程序不能直接操作硬盤的文件,一般都是通過操作系統(tǒng)提供的接口間接地操作文件。

一般來說,對文件的操作的mode有兩種,t:字符方式 b:二進制方式

字符方式只能操作文本文件,在打開文件的時候需要指定encoding,不然會因為短句不準確產(chǎn)生亂碼

二進制方式可以操作所有的文件,在打開文件的時候不要指定encoding

操作完文件后調(diào)用文件對象的close()函數(shù)會關閉文件,這只是關閉操作系統(tǒng)對文件的訪問,在程序里文件對象會在程序結束的時候自動釋放,所以在操作文件結束后,記得調(diào)用close()函數(shù),釋放系統(tǒng)資源。當然可以用with上下文管理自動釋放資源。

以上就是淺析Python 字符編碼與文件處理的詳細內(nèi)容,更多關于Python 字符編碼與文件處理的資料請關注腳本之家其它相關文章!

相關文章

最新評論

奉化市| 长泰县| 洪雅县| 靖江市| 东安县| 弥勒县| 海南省| 陕西省| 大同市| 东丽区| 玛沁县| 平果县| 宁都县| 庄河市| 镇雄县| 沅江市| 娄烦县| 晋江市| 安乡县| 保亭| 盐津县| 周口市| 海兴县| 苍梧县| 临武县| 肥东县| 万州区| 嘉祥县| 香港 | 墨玉县| 湘潭市| 专栏| 天门市| 共和县| 武胜县| 本溪| 湘阴县| 吉木萨尔县| 开原市| 南川市| 临潭县|