久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python 打開文件

要用代碼來操作文件,python就給我們提供了一個功能叫open()。

這個open功能就是用來打開操作系統(tǒng)的文件,然后用操作系統(tǒng)的文件去應對具體的硬盤空間。

所以以后我們用open功能打開一個文件,然后對文件進行操作,其實就是通過操作這個文件,然后轉(zhuǎn)換成具體的硬盤操作。

在講open功能之前,還有兩大類模式我們需要掌握。

第一大類

控制文件讀寫操作的模式。

比如你到底是想讀文件,還是寫文件呢?

r:只讀模式

w:只寫模式

a:追加寫模式

w和a都是寫模式,區(qū)別就是w寫的時候,如果你這個文件里面原本有數(shù)據(jù),它會把文件清空內(nèi)容再寫。

a則會在原來內(nèi)容最后面接著追加寫,不會清空原來的數(shù)據(jù)。

還有個模式叫+號模式,這個+不能單獨使用,必須和r、w、a配合使用。就是r+、w+、a+。

+號會在原有的基礎上,給你增加你原來沒有的功能。

r+:就是在只讀的基礎上增加了寫的功能。

w+:原來只能寫,有了+好之后 就可以讀了。

a+:除了追加寫也可以讀。

雖然這三種模式都是可讀可寫,但是他們都是在原有的基礎上增加的功能,所以會受限于他們原有的功能。

具體受限在哪里?我們后面講到的時候具體再說。

第二大類

第二類模式就是控制文件讀寫內(nèi)容的模式。

它控制的是你讀文件的時候,讀的是什么格式的數(shù)據(jù),寫文件又是寫的什么格式的數(shù)據(jù)。

t:讀寫文本格式的數(shù)據(jù)(默認模式)

如果我們不指定這個模式,它默認就是t模式,讀寫都是以字符串(unicode)為單位的。

說到這里,我們思考一下,為什么要下學文件處理?學文件處理的目的,其實就是想要把原本存放于內(nèi)存的數(shù)據(jù)保存到硬盤里面去。

指定參數(shù)encoding=‘utf-8’。我們指定了這個參數(shù),就會自動幫我們完成編碼的操作。

而且只針對文本文件,因為只有文本內(nèi)容,才涉及到字符串和字符編碼的概念。

我們前面講了那么多的字符編碼內(nèi)容,說內(nèi)存里存的都是unicdoe格式的數(shù)據(jù),其實都是基于一個大前提,就是全部都是文本內(nèi)容。

打開文件

但是我們現(xiàn)在學到了文件,我們就要站在更高的維度看問題,我們內(nèi)存里除了存文本類型的數(shù)據(jù),還有沒有可能有圖片或者視頻類型的數(shù)據(jù)?

如果是圖片或者視頻,就肯定不會轉(zhuǎn)成unicdoe來存了。就會轉(zhuǎn)成其他格式的二進制來存。

現(xiàn)在我們再回到t模式下,我們就明白了,既然這個t模式的讀寫單位是字符串,也就直接把open功能的范圍限定死了,就是這個數(shù)據(jù)來源必須是文本文件,圖片視頻用不了。

還有一種模式叫b模式。

b:bytes模式/二進制模式

b模式主要針對的就是圖片或者視頻文件,然后就是控制讀寫內(nèi)容和控制讀寫操作。

這兩大類模式不可以單獨使用,用的時候必須是這兩類模式配合使用,如果你指定了r模式,然后接著你要用字符串的方式讀還是bytes的方式讀呢?這也要指定。

所以說這兩大類模式不能單獨使用,就和前面的+號一樣,它也不能單獨使用的。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 打開文件

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞