久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:139日期:2022-07-10 10:06:17

Python字符編碼

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

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

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

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

python程序運行過程:

python的解釋器現(xiàn)在內(nèi)存中啟動 解釋器把要運行的文件以文本文件的形式讀進內(nèi)存 解釋器按照文件的語法格式解釋執(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)對文件的訪問,在程序里文件對象會在程序結(jié)束的時候自動釋放,所以在操作文件結(jié)束后,記得調(diào)用close()函數(shù),釋放系統(tǒng)資源。當然可以用with上下文管理自動釋放資源。

以上就是淺析Python 字符編碼與文件處理的詳細內(nèi)容,更多關于Python 字符編碼與文件處理的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 理塘县| 余姚市| 新巴尔虎左旗| 海淀区| 兴国县| 揭东县| 和政县| 津南区| 韶山市| 渑池县| 巴马| 龙门县| 辽宁省| 德钦县| 南皮县| 津南区| 庄浪县| 治县。| 南城县| 三江| 化州市| 宝应县| 新兴县| 宜川县| 兴海县| 山西省| 卢湾区| 徐水县| 新民市| 大港区| 龙胜| 蓝田县| 象州县| 阆中市| 海阳市| 贵溪市| 昌宁县| 灌南县| 类乌齐县| 塔城市| 霞浦县|