更新時間:2022-10-06 來源:黑馬程序員 瀏覽量:
我們試想一下,如果想用Word編寫一份個人簡歷,則可以分為以下幾步:
(1)打開Word軟件,新建一個文件。
(2)編寫個人簡歷信息。
(3)保存文件。
(4)關閉Word軟件。
同樣,在Python中操作文件的整體過程與使用Word編寫一份簡歷的過程很相似,一般可以分為以下幾步:
(1)打開文件,或者新建立一個文件。
(2)讀/寫數(shù)據(jù)。
(3)關閉文件。
接下來,本節(jié)將針對文件的打開和關閉操作分別進行詳細地講解。
一、文件的打開
在Python中,open函數(shù)用來打開文件,語法格式如下:
open(文件名[, 訪問模式])
上述格式中,“文件名”必須要填寫,“訪問模式”是可選的(后面會詳細介紹訪問模式)。
例如,打開一個名稱為“test.txt”的文件,示例代碼如下:
file = open('test.txt')
需要注意的是,使用open函數(shù)打開文件時,如果沒有注明訪問模式,則必須保證文件是存在的,否則會報如下所示的異常信息。
Traceback (most recent call last): File "<input>", lin1, in<module> FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
二、文件模式
如果使用open函數(shù)打開文件時,只傳入了文件名參數(shù),那么我們只能讀取文件。此時,要想在打開的文件中寫入數(shù)據(jù),就必須指明文件的訪問模式。Python中文件的訪問模式有很多種,接下來,筆者來做一些詳細的介紹。
1.r:默認模式。以只讀方式打開文件,文件的指針將會放在文件的開頭。
2.w:打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
3.a:打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。
4.rb:以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。
5.wb:以二進制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
6.ab:以二進制格式打開一個文件用于追加。如果該文件已經(jīng)存在,文件指針將會放在文件的結尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。
7.r+:打開一個文件用于讀寫。文件指針將會放在文件的開頭。
8.w+:打開一個文件用于讀寫。如果該文件已經(jīng)存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
9.a+:打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。
10.rb+:以二進制格式打開一個文件用于讀寫。文件指針將會放在文件開頭。
11.wb+:以二進制格式打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
12.ab+:以二進制格式打開一個文件用于追加,如果該文件已經(jīng)存在,文件指針將會放在文件的結尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。
三、文件的關閉
凡是打開的文件,切記要使用close方法關閉。即使文件會在程序退出后自動關閉,但是考慮到數(shù)據(jù)的安全性,在每次使用完文件后,都要使用close方法關閉文件,否則一旦程序崩潰,很可能導致文件中的數(shù)據(jù)沒有保存。close方法的使用非常簡單,具體示例如下:
# 新建一個文件,文件名為itheima.txt file = open('itheima.txt', 'w') # 關閉這個文件 file.close()