如何使用Python檢查檔案是否存在?
您可能希望僅當檔案或目錄存在或不存在時才在 Python 指令碼中執行特定操作。例如,您可能希望讀取或寫入配置檔案,或者僅在檔案不存在時才建立它。
有很多不同的方法可以檢查檔案是否存在以及確定它在 Python 中是什麼型別的檔案。
使用 OS 模組
一個名為 Os 的內建 Python 模組具有處理作業系統的工具。我們可以使用 os 來訪問作業系統功能。在 Python 中,os.path 是 os 的子模組。這用於更改公共路徑的名稱。
根據檔案是否存在,os.path 的兩種方法 isfile() 和 exists() 提供值“True”或“False”。
os.path.isfile() 方法
此方法確定指定路徑是否已包含常規檔案。
語法
os.path.isfile(filepath)
其中,filepath 代表檔案的路徑。
返回型別取決於檔案是否存在,“True”或“False”。
示例
以下是一個使用 os.path.isfile() 方法檢查檔案是否存在或不存在的示例:
import os filepath= 'C:\Users\Lenovo\Downloads\Work TP\trial.py' doesFileExists = os.path.isfile(filepath) print (doesFileExists)
輸出
以下是根據檔案是否存在而生成的上述程式碼的輸出:
True
os.path.exists() 方法
此方法檢查給定路徑是否存在。
語法
os.path.exists(filepath)
其中,filepath 代表檔案的路徑。
返回型別取決於檔案是否存在,“True”或“False”。
示例
以下是一個使用 os.path.exists() 方法檢查檔案是否存在或不存在的示例:
import os filepath= 'C:\Users\Lenovo\Downloads\Work TP\trial.py' doesFileExists = os.path.exists(filepath) print(doesFileExists)
輸出
以下是根據檔案是否存在而生成的上述程式碼的輸出:
True
使用 pathlib 模組
一個名為 Pathlib 的內建面向物件的 Python 介面提供了一個用於處理檔案和目錄的物件 API。pathlib 模組提供了兩種確定檔案是否存在的方法,類似於 os 模組。
示例 - pathlib.path.exists() 方法
以下是一個使用 pathlib.path.exists() 方法檢查檔案是否存在或不存在的示例:
import pathlib filepath = pathlib.Path("C:\Users\Lenovo\Downloads\Work TP\trials.py") if filepath.exists(): print ("The given file exists") else: print ("The given file does not exists")
輸出
以下是根據檔案是否存在而生成的上述程式碼的輸出:
The given file does not exists
示例 - pathlib.is_file() 方法
以下是一個使用 pathlib.is_file() 方法檢查檔案是否存在或不存在的示例:
import pathlib filepath = pathlib.Path("C:\Users\Lenovo\Downloads\Work TP\trial.py") if filepath.is_file(): print ("The given file exists") else: print ("The given file does not exists")
輸出
以下是根據檔案是否存在而生成的上述程式碼的輸出:
The given file exists
使用 glob 模組
使用萬用字元,glob 模組用於查詢檔名符合特定模式的檔案。這也提供“True”或“False”值來指示檔案是否存在。
示例
以下是一個使用 glob 模組檢查檔案是否存在或不存在的示例:
import glob if glob.glob(r"C:\Users\Lenovo\Downloads\Work TP\trial.py"): print ("The given file exists") else: print("The given file does not exists")
輸出
以下是根據檔案是否存在而生成的上述程式碼的輸出:
The given file exists
異常處理方法
我們在 try 和 except 語句中編寫了在“try”下編寫的程式碼,“except”語句檢查“try”下的程式碼是否存在錯誤。“except”塊在發現任何錯誤時執行。因此,我們使用“try”語句開啟檔案並確定它是否存在。如果檔案丟失,則出現的 IOError 異常允許我們列印輸出並顯示檔案丟失。
使用“test -e”,第一步是確認檔案的路徑有效。如果路徑有效,我們然後使用“test -f”或“test -d”來確定檔案是否存在。
示例 - 1
以下是一個使用異常處理方法 (**IOError**) 檢查檔案是否存在或不存在的示例:
try: file = open('C:\Users\Lenovo\Downloads\Work TP\trial.py') print("The given file exists") file.close() except IOError: print("The given file does not exists")
輸出
以下是根據檔案是否存在而生成的上述程式碼的輸出:
The given file exists
示例 - 2
以下是一個使用異常處理方法 (**FileNotFoundError**) 檢查檔案是否存在或不存在的示例:
try: file = open('C:\Users\Lenovo\Downloads\Work TP\trials.py') print("The given file exists") file.close() except FileNotFoundError: print("The given file does not exists")
輸出
以下是根據檔案是否存在而生成的上述程式碼的輸出。
The given file does not exists