- 網絡自動化運維教程
- 梁廣民 王金周等主編
- 1290字
- 2024-06-19 17:07:46
1.3.2 文件處理
到目前為止,所有的程序都是從控制臺獲取輸入并將執行結果輸出到控制臺的,實現了與用戶的交互。但控制臺上只能顯示有限的數據,也無法反復從程序中生成數據,一旦發生意外,所有工作成果將瞬間消失。文件處理在數據需要永久存儲到文件時發揮著重要作用,通過文件處理,可以讀取、寫入、創建、刪除和更改文件。
Python提供了內置的文件對象,以及用于對文件、目錄進行操作的內置模塊,通過這些可以很方便地將數據保存到文件中。
1.文件路徑
在Windows上,書寫路徑時使用反斜線作為路徑分隔符。但在OS X和Linux上,使用正斜線作為路徑分隔符。如果想要程序運行在所有操作系統上,在編寫程序時,就必須考慮到這兩種情況。
r/R表示原始字符串。所有的字符串都是直接按照字面的意思來使用的,沒有轉義特殊或不能輸出的字符。原始字符串第一個引號前有字母“r”(可以大寫),與普通字符串有著幾乎完全相同的語法。我們只需要在文件路徑字符串引號前加上r或R就可以輕松處理文件路徑帶來的問題了。

2.文件操作
Python中文件操作有很多種,常見的操作是對文件進行讀取和寫入。文件必須在打開之后才能進行操作,在操作結束之后,還應該將其關閉。因此文件操作可以分為以下3步,每一步都需要借助對應的函數實現。
●打開文件:使用內置的open()函數,該函數會返回一個文件對象。
●對已打開的文件進行讀/寫操作:讀取文件內容,可使用read()、readline()以及readlines()函數;向文件中寫入內容,可以使用write()函數。
●關閉文件:完成對文件的讀/寫操作之后,需要關閉文件,可以使用close()函數。
(1)打開文件
在Python中,要操作文件,首先需要創建或者打開指定的文件,并創建文件對象,而這些工作可以通過內置的open()函數完成。

●'file_name.txt'是要打開文件的名稱。不僅可以指定文件名,還可以指定路徑(絕對路徑或相對路徑)。
●'r'是文件打開模式,表示以只讀的模式打開文件。open()支持更多的文件打開模式,常用的文件打開模式如表1-1所示。
表1-1 常用的文件打開模式

(2)讀取文件
Python提供了如下3種函數來實現讀取文件中數據的操作。
●read()函數:逐個字節或者字符讀取文件中的內容。
●readline()函數:逐行讀取文件中的內容。
●readlines()函數:一次性讀取文件中的多行內容。
下面通過readlines()函數讀取文件R1.txt,R1.txt文件內容如下:

readlines()函數操作如下:

(3)寫入文件
寫入文件時,指定正確的文件打開模式非常重要,以免誤刪。
●w:打開文件進行寫入。如果文件存在,則刪除其內容。
●a:打開文件以添加數據,數據添加到文件末尾。
如果文件不存在,則在這兩種模式下都會創建一個文件。以下函數用于寫入文件。
●write():將一行內容寫入文件。
●writelines():允許將字符串列表作為參數發送到文件中。
下面通過write()函數將字符串寫入文件。

(4)關閉文件
前面在介紹文件操作時,一直強調打開的文件最后一定要關閉,否則會給程序的運行造成意想不到的隱患。但是,即便使用close()函數,如果在打開文件或文件操作過程中拋出了異常,則還是無法及時關閉文件。
為了更好地避免此類問題出現,Python提供了with as語句用來操作上下文管理器(Context Manager),它能夠幫助我們自動分配并且釋放資源,保證文件自動關閉。

有時需要同時處理兩個文件,如將從一個文件中讀出的內容再寫入另一個文件。在這種情況下,可以按如下方式打開兩個文件:

- 國際貿易案例精選精析
- 建筑速寫
- Web滲透測試與防護(慕課版)
- 互換性與技術測量實驗指導書(第二版)
- 李觀儀《新編英語教程(6)》(第3版)學習指南【詞匯短語+課文精解+全文翻譯+練習答案】
- 2019年江西省選聘高校畢業生到村任職考試《行政職業能力測驗》考點精講及典型題(含歷年真題)詳解
- 王鳳彬《管理學》(第3版)筆記和課后習題詳解
- 丁樹杞《大學俄語(1)》(東方老版)學習指南【詞匯短語+語音語調+課文精解+單元語法+全文翻譯+練習答案】
- 楊保軍《新聞理論教程》(第2版)配套題庫【名校考研真題(視頻講解)+課后習題+章節題庫+模擬試題】
- 高職教育工學結合模式專業及課程研究
- 首飾藝術設計(第2版)
- 對外經濟貿易大學公共管理學院781公共管理學歷年考研真題及詳解
- FLASH動畫設計與制作
- 大學生情商口才
- 旅游政策與法規