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

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

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

  我們?cè)囅胍幌拢绻胗肳ord編寫(xiě)一份個(gè)人簡(jiǎn)歷,則可以分為以下幾步:

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

  (2)編寫(xiě)個(gè)人簡(jiǎn)歷信息。

  (3)保存文件。

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

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

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

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

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

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

  一、文件的打開(kāi)

  在Python中,open函數(shù)用來(lái)打開(kāi)文件,語(yǔ)法格式如下:

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

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

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

file = open('test.txt')

  需要注意的是,使用open函數(shù)打開(kāi)文件時(shí),如果沒(méi)有注明訪問(wèn)模式,則必須保證文件是存在的,否則會(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ù)打開(kāi)文件時(shí),只傳入了文件名參數(shù),那么我們只能讀取文件。此時(shí),要想在打開(kāi)的文件中寫(xiě)入數(shù)據(jù),就必須指明文件的訪問(wèn)模式。Python中文件的訪問(wèn)模式有很多種,接下來(lái),筆者來(lái)做一些詳細(xì)的介紹。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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