首頁技術(shù)文章正文

Python培訓(xùn):文件的打開和關(guān)閉

更新時(shí)間:2022-10-06 來源:黑馬程序員 瀏覽量:

  我們試想一下,如果想用Word編寫一份個(gè)人簡歷,則可以分為以下幾步:

  (1)打開Word軟件,新建一個(gè)文件。

  (2)編寫個(gè)人簡歷信息。

  (3)保存文件。

  (4)關(guān)閉Word軟件。

  同樣,在Python中操作文件的整體過程與使用Word編寫一份簡歷的過程很相似,一般可以分為以下幾步:

  (1)打開文件,或者新建立一個(gè)文件。

  (2)讀/寫數(shù)據(jù)。

  (3)關(guān)閉文件。

  接下來,本節(jié)將針對文件的打開和關(guān)閉操作分別進(jìn)行詳細(xì)地講解。

  一、文件的打開

  在Python中,open函數(shù)用來打開文件,語法格式如下:

open(文件名[, 訪問模式])

  上述格式中,“文件名”必須要填寫,“訪問模式”是可選的(后面會(huì)詳細(xì)介紹訪問模式)。

  例如,打開一個(gè)名稱為“test.txt”的文件,示例代碼如下:

file = open('test.txt')

  需要注意的是,使用open函數(shù)打開文件時(shí),如果沒有注明訪問模式,則必須保證文件是存在的,否則會(huì)報(bào)如下所示的異常信息。

Traceback (most recent call last):
  File "<input>", lin1, in<module>
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

  二、文件模式

  如果使用open函數(shù)打開文件時(shí),只傳入了文件名參數(shù),那么我們只能讀取文件。此時(shí),要想在打開的文件中寫入數(shù)據(jù),就必須指明文件的訪問模式。Python中文件的訪問模式有很多種,接下來,筆者來做一些詳細(xì)的介紹。

  1.r:默認(rèn)模式。以只讀方式打開文件,文件的指針將會(huì)放在文件的開頭。

  2.w:打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

  3.a:打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。

  4.rb:以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開頭。

  5.wb:以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

  6.ab:以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已經(jīng)存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。

  7.r+:打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件的開頭。

  8.w+:打開一個(gè)文件用于讀寫。如果該文件已經(jīng)存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

  9.a+:打開一個(gè)文件用于讀寫。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。

  10.rb+:以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件開頭。

  11.wb+:以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

  12.ab+:以二進(jìn)制格式打開一個(gè)文件用于追加,如果該文件已經(jīng)存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。

  三、文件的關(guān)閉

  凡是打開的文件,切記要使用close方法關(guān)閉。即使文件會(huì)在程序退出后自動(dòng)關(guān)閉,但是考慮到數(shù)據(jù)的安全性,在每次使用完文件后,都要使用close方法關(guān)閉文件,否則一旦程序崩潰,很可能導(dǎo)致文件中的數(shù)據(jù)沒有保存。close方法的使用非常簡單,具體示例如下:

# 新建一個(gè)文件,文件名為itheima.txt
file = open('itheima.txt', 'w')
# 關(guān)閉這個(gè)文件
file.close()


分享到:
在線咨詢 我要報(bào)名
和我們在線交談!