首頁 > 軟體

Python 檔案處理之open()函數

2022-03-17 19:00:41

前言:

檔案處理是任何 Web 應用程式的重要組成部分。

Python 有幾個用於建立、讀取、更新和刪除檔案的函數。

1.檔案處理

Python 中使用檔案的關鍵函數是 open() 函數。

有四種開啟檔案的不同方法(模式):

  • "r" - 讀取 - 預設值。開啟檔案進行讀取,如果檔案不存在則報錯。
  • "a" - 追加 - 開啟供追加的檔案,如果不存在則建立該檔案。
  • "w" - 寫入 - 開啟檔案進行寫入,如果檔案不存在則建立該檔案。
  • "x" - 建立 - 建立指定的檔案,如果檔案存在則返回錯誤。

此外,您可以指定檔案是應該作為二進位制還是文字模式進行處理。

  • "t" - 文字 - 預設值。文字模式。
  • "b" - 二進位制 - 二進位制模式(例如影象)。

open() 函數有兩個引數:檔名和模式。

open()函數 語法格式:

f=open("a.txt","r")    #以唯讀的方式開啟a.txt檔案,並建立一個檔案物件f。
這裡的f等於以唯讀的方式開啟的a.txt檔案

read()函數     括號裡可以輸入想讀取檔案字元的數量,括號裡沒有引數則預設讀取該檔案全部內容

print(f.read())    #讀取檔案全部內容
print(f.read(6))    #讀取檔案前6個字元

readline()函數 讀取一行檔案的內容:

print(f.readline())    #讀取第一行內容
 
#若只想讀取前兩行內容,則可以這樣寫:
print(f.readline())
print(f.readline()) 
   
"""依次讀取一行內容,已經讀取的內容不會重複讀取,所以寫兩遍就可以讀取兩行內容。"""

close()函數 關閉檔案: 

既然有open()開啟檔案,那就有close()關閉檔案

把緩衝區的內容寫入檔案,同時關閉檔案,釋放檔案物件相關資源

開啟了檔案後,完成對檔案的編輯和使用就close關閉檔案

#close()函數使用方法:
 
f=open("a.txt","r")     #開啟檔案
print(f.read(5))        #讀取前五個字元
print(f.readline())     #然後再讀取一行字元
f.close()            #完成對檔案的使用後關閉檔案

2.Python 檔案寫入

寫入已有檔案:

如需寫入已有的檔案,必須向 open() 函數新增引數:

  • "a" - 追加 - 會追加到檔案的末尾
  • "w" - 寫入 - 會覆蓋任何已有的內容

開啟檔案 "a.txt" 並將內容追加到檔案中

f=open("a.txt","a")    #以"a"追加寫入的方式開啟檔案
f.write("Hello python!")   #以"a"的方式開啟的檔案寫入內容時,會將內容追加在之前內容的末尾。
f.close()     #將緩衝區的內容寫入到檔案中,寫完內容後關閉檔案。
 
"""每次執行都會在檔案末尾追加Hello python,執行三次後,就會有三句Hello python"""

開啟檔案 "a.txt" 並覆蓋內容

f=open("a.txt","w")      #以"w"寫入的方式開啟a.txt檔案
f.write("Hello python!")    

以"w"方式開啟的檔案,每次寫入內容都會覆蓋之前的內容。所以不管執行多少次,檔案裡只有Hello python
f.close()   把緩衝區的內容寫入檔案,並關閉檔案。釋放檔案物件的相關資源。
每次寫入完內容後建議關閉一下檔案,因為檔案不一定會立馬儲存進檔案,而是存在緩衝區。
使用close() 函數關閉檔案時,會將緩衝區的內容寫入檔案。 

注意:"w"方法會覆蓋全部內容。

3.建立新檔案

如果需要在python中建立新檔案,則使用open()方法,並使用以下方法:

  • "x"    建立  -將建立一個檔案,如果檔案存在則返回錯誤
  • "a"    追加  -如果指定檔案不存在,將建立一個檔案
  • "w"    寫入  -如果指定的檔案不存在,將建立一個檔案

範例:

建立名為"b.txt"的檔案:

f=open("b.txt","x")       #建立並開啟b.txt檔案
 
#如果檔案已存在則報錯顯示檔案以存在:
 
FileExistsError: [Errno 17] File exists: '海龜程式設計test1.py'
 
#如果不存在,則建立新檔案。

4.刪除檔案

如果需要刪除檔案,必須匯入OS模組,並執行其os.remove()函數:

#刪除b.txt檔案
import os    #匯入os模組
os.remove("b.txt")     #使用os.remove("檔名") 函數刪除檔案。

檢查檔案是否存在:

為避免出現錯誤,您可能需要在嘗試刪除檔案之前檢查該檔案是否存在:

範例

檢查檔案是否存在,然後刪除它:

import os
if os.path.exists("d.txt"):
  os.remove("d.txt")
else:
  print("The file does not exist")

刪除資料夾

如需刪除整個資料夾,請使用 os.rmdir() 方法:

import os 
os rmdir("b.txt")     # 刪除整個資料夾

注意:只能刪除空資料夾

到此這篇關於Python 檔案處理之open()函數的文章就介紹到這了,更多相關Python open()函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com