Heim > Artikel > Backend-Entwicklung > So ermitteln Sie, ob eine Datei in Python vorhanden ist
Normalerweise müssen Sie vor dem Lesen und Schreiben von Dateien feststellen, ob die Datei oder das Verzeichnis vorhanden ist, da sonst bestimmte Verarbeitungsmethoden zu Programmfehlern führen können. Daher ist es am besten, vor dem Ausführen eines Vorgangs festzustellen, ob die Datei vorhanden ist.
Wie kann ich feststellen, ob eine Datei in Python vorhanden ist?
Um festzustellen, ob die Datei vorhanden ist, können Sie das OS-Modul, die Try-Anweisung und das Pathlib-Modul verwenden.
Hier stellen wir drei Methoden vor, um festzustellen, ob eine Datei oder ein Ordner vorhanden ist, indem wir das OS-Modul, die Try-Anweisung bzw. das Pathlib-Modul verwenden.
1. Verwenden Sie das OS-Modul
Die Methode os.path.exists() im OS-Modul wird verwendet, um zu überprüfen, ob die Datei vorhanden ist.
Bestimmen Sie, ob die Datei vorhanden ist
import os os.path.exists(test_file.txt) #True os.path.exists(no_exist_file.txt) #False
oder
import os os.path.exists(test_dir) #True os.path.exists(no_exist_dir) #False
Es ist ersichtlich, dass mit der Methode os.path.exists() Dateien und Ordner beurteilt werden können das gleiche.
Tatsächlich gibt es bei dieser Methode immer noch ein Problem. Angenommen, Sie möchten überprüfen, ob die Datei „test_data“ vorhanden ist, aber unter dem aktuellen Pfad befindet sich ein Ordner mit dem Namen „test_data“, sodass es zu einer Fehleinschätzung kommen kann . Um diese Situation zu vermeiden, können Sie Folgendes tun:
Überprüfen Sie nur die Datei
import os os.path.isfile("test-data")
Wenn die Datei „test-data“ mit dieser Methode nicht existiert, wird „False“ zurückgegeben. andernfalls wird True zurückgegeben.
Auch wenn die Datei vorhanden ist, müssen Sie möglicherweise dennoch feststellen, ob die Datei gelesen und geschrieben werden kann.
Bestimmen Sie, ob die Datei gelesen und geschrieben werden kann
Verwenden Sie die Methode os.access(), um zu bestimmen, ob die Datei gelesen und geschrieben werden kann.
Syntax:
os.access(path, mode)
Pfad ist der Dateipfad, Modus ist der Betriebsmodus, es gibt verschiedene Typen:
os.F_OK: 检查文件是否存在; os.R_OK: 检查文件是否可读; os.W_OK: 检查文件是否可以写入; os.X_OK: 检查文件是否可以执行
Diese Methode ermittelt, ob der Dateipfad existiert und verschiedene Zugriffe Modi Die Berechtigung gibt „True“ oder „False“ zurück.
import os if os.access("/file/path/foo.txt", os.F_OK): print "Given file path is exist." if os.access("/file/path/foo.txt", os.R_OK): print "File is accessible to read" if os.access("/file/path/foo.txt", os.W_OK): print "File is accessible to write" if os.access("/file/path/foo.txt", os.X_OK): print "File is accessible to execute"
2. Verwenden Sie die Try-Anweisung
, um zu überprüfen, ob die Datei vorhanden und lesbar und beschreibbar ist, indem Sie direkt die Methode open() verwenden im Programm.
Syntax
open(<file/path>)
Wenn die von Ihnen geöffnete Datei nicht existiert, gibt das Programm einen Fehler aus. Verwenden Sie die try-Anweisung, um diesen Fehler abzufangen.
Das Programm kann nicht auf die Datei zugreifen.
Wenn die von Ihnen geöffnete Datei nicht vorhanden ist, wird eine FileNotFoundError-Ausnahme ausgelöst
Die Datei ist vorhanden, es besteht jedoch keine Zugriffsberechtigung und es wird eine PersmissionError-Ausnahme ausgelöst.try: f =open() f.close() except FileNotFoundError: print "File is not found." except PersmissionError: print "You don't have permission to access this file."
3. Verwenden Sie das Pathlib-Modul
path = pathlib.Path("path/file") path.exist()Überprüfen Sie, ob der Pfad eine Datei ist
path = pathlib.Path("path/file") path.is_file()
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob eine Datei in Python vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!