HOWTO · Python
Wie man prüft, ob eine Datei in Python existiert
Dieser How-To-Artikel stellt vor, wie man prüft, ob eine Datei in Python existiert
Auf dieser Seite
Dieses Tutorial stellt drei verschiedene Lösungen vor, um zu prüfen, ob eine Datei in Python existiert.
try...exceptBlock, um die Existenz der Datei zu prüfen (>=Python 2.x)os.path.isfileFunktion zur Überprüfung der Dateiexistenz (>=Python 2.x)pathlib.Path.is_file()Prüfung der Dateiexistenz (>=Python 3.4)
try...except, die Datei existence zu prüfen (>Python 2.x)
Wir könnten versuchen, die Datei zu öffnen und prüfen, ob die Datei existiert oder nicht, abhängig davon, ob der IOError (in Python 2.x) oder FileNotFoundError (in Python 3.x) geworfen wird oder nicht.
def checkFileExistance(filePath):
try:
with open(filePath, "r") as f:
return True
except FileNotFoundError as e:
return False
except IOError as e:
return False
In den obigen Beispielcodes machen wir es Python 2 / 3-kompatibel, indem wir sowohl FileNotFoundError als auch IOError im Exception-Catching-Teil auflisten.
os.path.isfile() um zu prüfen, ob die Datei existiert (>=Python 2.x)
import os
fileName = "temp.txt"
os.path.isfile(fileName)
Es prüft, ob die Datei fileName existiert.
Einige Entwickler ziehen es vor, os.path.exists() zu benutzen, um zu prüfen, ob eine Datei existiert. Aber es könnte nicht unterscheiden, ob das Objekt eine Datei oder ein Verzeichnis ist.
import os
fileName = "temp.txt"
print(os.path.exists(fileName))
fileName = r"C:\Test"
print(os.path.exists(fileName))
Verwenden Sie daher nur os.path.isfile, wenn Sie überprüfen wollen, ob die Datei existiert.
pathlib.Path.is_file() um zu prüfen, ob die Datei existiert (>=Python 3.4)
Seit Python 3.4 führt es eine objektorientierte Methode im Modul pathlib ein, um zu prüfen, ob eine Datei existiert.
from pathlib import Path
fileName = "temp.txt"
fileObj = Path(fileName)
print(fileObj.is_file())
Ähnlich hat es auch die Methoden is_dir() und exists(), um zu prüfen, ob ein Verzeichnis oder eine Datei/ein Verzeichnis existiert.