一、什么是文件操作
一個(gè)完整的程序一般都包括數(shù)據(jù)的存儲和讀取;我們在前面寫的程序數(shù)據(jù)都沒有進(jìn)行實(shí)際的存儲,因此python解釋器執(zhí)行完數(shù)據(jù)就消失了
實(shí)際開發(fā)中,我們經(jīng)常需要從外部存儲介質(zhì)(硬盤、光盤、U盤等)讀取數(shù)據(jù),或者將程序產(chǎn)生的數(shù)據(jù)存儲到文件中,實(shí)現(xiàn)“持久化”保存
1.1. 文件分類按文件中數(shù)據(jù)組織形式,我們把文件分為文本文件和二進(jìn)制文件兩大類:
文本文件文本文件存儲的是普通“字符”文本,python默認(rèn)為 unicode 字符集,可以使用記事本程序打開
二進(jìn)制文件二進(jìn)制文件把數(shù)據(jù)內(nèi)容用“字節(jié)”進(jìn)行存儲,無法用記事本打開, 必須使用專用的軟件解碼。
常見的有:MP4視頻文件、MP3音頻文件、JPG圖片、doc文檔等等
1.2. 常用編碼在操作文本文件時(shí),經(jīng)常會操作中文,這時(shí)候就經(jīng)常會碰到亂碼問題。 為了解決中文亂碼問題,需要學(xué)習(xí)下各個(gè)編碼之前的問題。
常用編碼之間的關(guān)系如下:
ASCII
全稱為 American Standard Code for Information Interchange
,美國信息交換標(biāo)準(zhǔn)代碼,這是世界上最早最通用的單字節(jié)編碼系統(tǒng),主要用來顯示現(xiàn)代英語及其他西歐語言
注意事項(xiàng):
ASCII 碼用7位表示,只能表示128個(gè)字符。 只定義了2^7=128個(gè)字符,用7bit即可完全編碼, 而一字節(jié)8bit的容量是256,所以一字節(jié)
ASCII 的編碼最高位總是0
ASCll 碼對應(yīng)碼表如下: ASCll 碼表
GBK
GBK即漢字內(nèi)碼擴(kuò)展規(guī)范,英文全稱Chinese Internal Code Specification.
GBK編碼標(biāo)準(zhǔn)兼容GB2312,共收錄漢字21003個(gè)、符號883個(gè),并提供1894個(gè)造字碼位,簡、繁體字融于一庫。GBK采用雙字節(jié)表示,總體編碼范圍為8140-FEFE,首字節(jié)在81-FE
之間,尾字節(jié)在40-FE 之間
Unicode
Unicode
編碼設(shè)計(jì)成了固定兩個(gè)字節(jié),所有的字符都用16位2^16=65536表示,包括之前只占8位的英文字符等,所以會造成空間的浪費(fèi)Unicode 完全重新設(shè)計(jì),不兼容
iso8859-1 ,也不兼容任何其他編碼
UTF-8
對于英文字母, unicode 也需要兩個(gè)字節(jié)來表示, 所以 unicode 不便于傳輸和存儲。 因此而產(chǎn)生了 UTF編碼 , UTF-8 全稱是(
8-bit UnicodeTransformation Format )
注意事項(xiàng)
UTF 編碼兼容 iso8859-1 編碼,同時(shí)也可以用來表示所有語言的字符
UTF 編碼是不定長編碼,每一個(gè)字符的長度從1-4個(gè)字節(jié)不等。英文字母都是用一個(gè)字節(jié)表示,而漢字使用三個(gè)字節(jié)
一般項(xiàng)目都會使用 UTF-8我們之所以傾向于使用UTF-8 , 是因?yàn)槠洳欢ㄩL編碼可以在節(jié)省內(nèi)存的同時(shí)能夠完全兼容中文
剛進(jìn)入名為人偶懸廊的外圍, 小知便看到了異樣: 自己的僵尸小弟沒有按照自己的命令繼續(xù)攻略地下城, 而是在地圖外圍漫無目的徘徊著。
而且不僅僅是自己的僵尸小弟, 甚至還看到了冒險(xiǎn)家, 只不過他們也是像僵尸一樣, 如機(jī)械般的行動軌跡甚至讓小知懷疑他們是否還活著。 為了能夠更近距離的觀察異樣,
小知決定趁機(jī)弄暈一個(gè)冒險(xiǎn)家, 然后自己加裝被控制的冒險(xiǎn)家來進(jìn)行調(diào)查.
-
程序
+關(guān)注
關(guān)注
117文章
3824瀏覽量
82498 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86270
發(fā)布評論請先 登錄
關(guān)于Python的文件操作詳解









Python文件操作教程免費(fèi)下載

python的文件操作教程詳細(xì)說明

評論