第十二章 檔案

2021-10-12 15:43:27 字數 1935 閱讀 6197

文字檔案

文字檔案是一種由若干字元構成的檔案,可以用文字編輯器進行閱讀或編輯。以txt、py、html等為字尾的檔案都是文字檔案。

2.二進位制檔案

二進位制檔案一般是指不能用文字編輯器閱讀或編輯的檔案。以***、mp4、png等為字尾的檔案都是二進位制檔案,如果想要開啟或修改這些檔案,必須通過特定軟體進行,比如用photoshop軟體可以編輯影象檔案。

從本質上講,文字檔案也是二進位制檔案,因為計算機處理的全是二進位制資料。

3.檔案操作

通過程式操作檔案與手動操作檔案類似,通常需要經過3個步驟:開啟檔案、讀或寫資料、關閉檔案。

開啟檔案:

對檔案所有的操作都是在開啟檔案之後進行的,開啟檔案使用open()函式來實現。

關閉檔案:

當對檔案內容操作完以後,一定要關閉檔案,這樣才能保證所修改的資料儲存到檔案中,同時也可以釋放記憶體資源供其他程式使用。使用with-as語句後,就不需要再顯式使用close()方法。另外with-as語句還可以開啟多個檔案。

讀文字檔案:read()方法、readlines()方法、readlines()方法、in關鍵字

寫文字檔案:write()方法、writelines()方法

4.讀寫二進位制檔案

文字檔案使用字串行來儲存資料,而二進位制檔案使用位元組序列儲存資料,它只能被特定的讀取器讀取。python中pickle模組可以將資料序列化。

序列化是指將物件轉化成一系列位元組儲存到檔案中,而反序列化是指程式從檔案中讀取資訊並用來重構上一次儲存的物件。

pickle模組中dump()函式可以實現序列化操作。

該函式表示將物件obj儲存到檔案file中,引數protocol是序列化模式,預設值為0,表示以文字的形式序列化,protocol的值還可以是1或2,表示以二進位制的形式序列化。

5.定位讀寫位置

檔案指標是指向乙個檔案的指標變數,用於標識當前讀寫檔案的位置,通過檔案指標就可對它所指的檔案進行各種操作。

tell()方法可以獲取檔案指標的位置

該方法返回乙個整數,表示檔案指標的位置。

seek()方法可以移動檔案指標位置

其中,引數offset表示移動的偏移量,單位為位元組,其值為正數時,檔案指標向檔案尾方向移動;其值為負數時,檔案指標向檔案頭方向移動。引數where指定從何處開始移動,其值可以為0、1、2,具體含義如下所示:

0——表示檔案頭。 1——表示當前位置。 2——表示檔案尾。

6.複製檔案

在日常生活中,經常需要將檔案從乙個路徑下複製到另乙個路徑下。在python中,shutil模組的copy()函式可以實現複製檔案.

該函式表示將檔案src複製為dst。

7.移動檔案

在日常生活中,經常需要將檔案從乙個路徑下移動到另乙個路徑下。在python中,shutil模組的move ()函式可以實現移動檔案。

該函式表示將檔案src移動到dst。

8.重新命名檔案

在python中,os模組的rename()函式可以重新命名檔案。

該函式表示將src重名為dst。

9.刪除檔案

在python中,os模組的remove ()函式可以刪除檔案。

該函式表示將檔案src刪除。

10.目錄操作

建立目錄

os模組的mkdir()函式可以建立目錄。

引數path指定要建立的目錄。

程式執行結束後,在目錄d:/1000phone/下建立出乙個目錄codingke。此處需注意,該函式只能建立一級目錄,如果需要建立多級目錄,則可以使用makedirs()函式。

獲取目錄

os模組的getcwd()函式可以獲取當前目錄。

os模組的listdir()函式可以獲取指定目錄中包含的檔名與目錄名。

遍歷目錄

如果希望檢視指定路徑下全部子目錄的所有目錄和檔案資訊,就需要進行目錄的遍歷,os模組的walk()函式可以遍歷目錄樹。

以上是本章所有內容。

第十二章 dp

動態規劃策略 將原始問題拆分為多個子問題,將子問題結果記錄,方便復用子問題的解 遞迴 記憶化 遞推 是動態規劃的一體兩面,本質都是一樣的 遞推減少了呼叫次數,空間上還能優化,一般選擇遞推方式 遞迴 記憶化 int memo maxn 將o 2 n o n intfibonacci int n 遞推 ...

第十二章 異常

一 異常的概念 錯誤 編譯器 異常 執行期,程式沒有正常按照期望執行 異常產生時,在對應位置產生異常型別物件,程式 暫停 如果上下文有異常處理程式,對應處理 沒有則 異常向上傳播 報錯退出 異常向上傳播 如果異常在函式中產生,會傳播給函式的呼叫者 如果異常在模組的頂級位置,會傳播給引用該模組的模組 ...

第十二章 事件

檔案事件分為寫事件 ae writable 和讀事件 ae readable 採用i o復用程式監聽多個套接字,根據套接字當前執行的任務關聯事件處理器。當乙個套接字準備好執行應答 讀取 寫入 關閉操作時,會產生對應的檔案事件,檔案事件分派器會將檔案事件交給對應的事件處理器。同一時刻可能有多個套接字準...