天天看點

一文讀懂Python對檔案的各種操作方式

檔案操作:Python中的檔案對象不僅可以用來通路普通的磁盤檔案,而且也可以通路任何其它類型抽象層面上的“檔案”。

第一節:打開檔案

通過Python程式來對計算機中的各種檔案進行增删改查的操作,也叫I/O(Input / Output)操作。

我們操作檔案的步驟:

① 打開檔案

② 對檔案進行各種操作(讀、寫),然後儲存

③ 關閉檔案

第一步:打開檔案 我們使用open函數來打開一個檔案,它的格式為:參數:file 要打開的檔案的名字(路徑)>>

點選連結檢視更多内容

第二節:關閉檔案

上節課我們講過在對檔案進行操作之後必須要對檔案進行關閉。

在Python中可以通過調用close()方法來實作這個功能,但是我們對于close的調用并不常見,因為比較麻煩,每次都必須在close之前去編寫程式,有時候可能會忘記。python為了解決這種麻煩,提供了一種方法:with ... as 語句,一旦with結束則檔案會自動close()。>>

第三節:檔案的簡單讀取

本節課為大家介紹檔案的簡單讀取,依然是讀取demo.txt檔案。

首先建立該檔案,然後對檔案進行操作,并将操作過程使用try..except來包裹一下,捕捉異常。這就完成了基本的代碼架構搭建,接下來介紹一下如何對檔案進行讀取的操作。

可以通過 read() 來讀取檔案中的内容。但是如果文檔的編碼格式是ASCII之外的就會導緻編碼錯誤,此時可以指定檔案的編碼格式來解決該問題。>>

第四節:大檔案的讀取方式

上節課我們講了可以使用read來讀取檔案,但是如果直接調用read()它會将文本檔案的所有内容全部都讀取出來;如果要讀取的檔案較大的話,會一次性将檔案的内容加載到記憶體中,容易導緻記憶體洩漏;是以對于較大的檔案,不要直接調用read()。

那該如何讀取大檔案呢?其實隻需要調整read裡面的一個參數即可>>

點選連結檢視詳情

第五節:檔案讀取的其他方式

檔案的讀取除了read之外還有另外的三種方式:readline()、readlines()和for循環讀取。readline()方法可以用來讀取一行内容,readlines()方法用于一行一行的讀取内容,它會一次性将讀取到的内容封裝到一個清單中傳回,for循環預設讀取全部檔案。>>

點選連結檢視它們的用法

第六節:檔案的寫入

使用open()打開檔案時必須要指定打開檔案所要做的操作(讀、寫、追加),如果不指定操作類型,則預設是讀取檔案 , 而讀取檔案時是不能向檔案中寫入的。

在之前的課程(

打開檔案

)中講過打開檔案時會預設有一個mode='r',而r 表示隻讀的。w 表示是可寫的,是以我們隻需要将它的類型修改為w即可進行寫入操作。>>

點選連結了解更多内容

第七節:對二進制檔案的操作

本節課以讀取音頻檔案為例介紹了二進制文本的讀取方式,同時将讀取到的内容寫入到新的檔案裡,實作檔案的内容和格式複制,并且打開該檔案會發現複制後的檔案依然是一個可播放的音頻檔案。>>

點選連結檢視詳情内容

第八節:seek和tell

tell() 方法用來檢視目前讀取的位置; seek() 可以修改目前讀取的位置,它需要兩個參數,第一個是要切換到的位置,第二個是計算位置方式。它的可選值為:

1、0 從頭計算,預設值

2、1 從目前位置計算

3、2 從最後位置開始計算

即先看第二個數字,假設是(x,0)則表示從文檔的開始位置切換到第x個位置,如果是(x,1)則表示切換到從目前讀取到的位置再向後x的位置開始,同理,如果是(x,2)則表示,切換到文檔的末尾再向後x的位置開始,注意,x可以是負數。

如果在不是ASCII編碼格式的文檔中使用seek方法,要注意切換的位置>>

第九節:檔案的其他操作

本節課介紹了一些檔案的基本操作,包括建立檔案、删除檔案、切換檔案所在的目錄、顯示檔案目前所在的目錄、重命名檔案等一些操作。

1、os.listdir() 用于擷取指定目錄的目錄結構,需要一個路徑作為參數,會擷取到該路徑下的目錄結構,預設路徑為 . 目前目錄;該方法會傳回一個清單,目錄中的每一個檔案(夾)的名字都是清單中的一個元素。

2、os.getcwd()可用于擷取目前所在的目錄。

3、os.chdir()切換目前所在的目錄,作用相當于 cd;

4、os.mkdir()在目前目錄下建立一個新的目錄。>>

點選連結檢視其它操作和具體用法

擷取更多有關Python的内容,請訂閱

Python學習站

官方技術圈!