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

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

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

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

readlines()函數(shù)操作如下:

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

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

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

- 基礎(chǔ)會計學(xué)習(xí)指導(dǎo)(第4版)
- CRISPR基因編輯技術(shù)
- 會計學(xué)原理
- 智慧環(huán)保實踐
- 童明《美國文學(xué)史》配套題庫【課后習(xí)題+章節(jié)題庫(含名校考研真題)+模擬試題】
- 文化行政管理學(xué)
- 公共關(guān)系學(xué)
- 新編管理學(xué)基礎(chǔ)實訓(xùn)教程
- 大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo)
- 虛擬演播室技術(shù)與創(chuàng)作
- 2019年江西省選聘高校畢業(yè)生到村任職考試《行政職業(yè)能力測驗》題庫【真題精選+章節(jié)題庫+模擬試題】
- 北京服裝產(chǎn)業(yè)發(fā)展研究報告(品牌篇)
- 中國近現(xiàn)代史綱要模擬試題集
- 2020年西藏自治區(qū)選聘大學(xué)生村官考試《行政職業(yè)能力測驗》考點精講及典型題(含歷年真題)詳解
- 2020年P(guān)ETS四級核心詞匯全突破【附高清視頻講解】(上)