In diesem Artikel werden drei Methoden vorgestellt, um mithilfe des OS-Moduls, der Try-Anweisung bzw. des Pathlib-Moduls festzustellen, ob eine Datei oder ein Ordner vorhanden ist. Interessierte Freunde, werfen wir einen Blick darauf
Bevor Sie Dateien lesen und schreiben, müssen Sie 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.
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 existiert.
Bestimmen Sie, ob die Datei vorhanden ist
import os os.path.exists(test_file.txt) #True os.path.exists(no_exist_file.txt) #False
Bestimmen Sie, ob die Datei vorhanden ist Ordner existiert Es gibt
import os os.path.exists(test_dir) #True os.path.exists(no_exist_dir) #False
Es ist ersichtlich, dass mit der os.path.exists()
-Methode Dateien und Ordner vorhanden sind 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 dies zu vermeiden, können Sie Folgendes tun:
Überprüfen Sie die Datei nur
import os os.path.isfile("test-data")
von Wenn bei dieser Methode die Datei „test-data“ nicht vorhanden ist, 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 oder geschrieben werden kann.
Syntax:
os.access(, )
Pfad ist der Dateipfad, Modus ist der Betriebsmodus, es gibt verschiedene Typen:
os.F_OK: Überprüfen Sie, ob die Datei vorhanden ist;
os.R_OK: Überprüfen Sie, ob die Datei lesbar ist;
os.W_OK: Überprüfen Sie, ob die Datei geschrieben werden kann.
os Die Berechtigungen für jeden Zugriffsmodus geben „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"
, um open() direkt im zu verwenden Programm Methode zum Überprüfen, ob die Datei vorhanden und lesbar und beschreibbar ist. Syntax:
Wenn die von Ihnen geöffnete Datei nicht existiert, gibt das Programm einen Fehler aus. Verwenden Sie die try-Anweisung, um diesen Fehler abzufangen .
open()
Wenn die von Ihnen geöffnete Datei nicht vorhanden ist, wird eine FileNotFoundError-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."
try: f =open() f.close() except IOError: print "File is not accessible."
Das Pathlib-Modul ist ein integriertes Modul in der Python3-Version, aber in Python2 ist es ein drittes Modul. Partymodule müssen separat installiert werden. Die Verwendung von pathlib erfordert zunächst die Verwendung des Dateipfads, um ein Pfadobjekt zu erstellen. Dieser Pfad kann ein Dateiname oder ein Verzeichnispfad sein.
Überprüfen Sie, ob der Pfad existiert
Überprüfen Sie, ob der Pfad ist Datei
path = pathlib.Path("path/file") path.exist()
Zusammenfassung
path = pathlib.Path("path/file") path.is_file()
Das obige ist der detaillierte Inhalt vonBeispielfreigabe für die Verwendung von drei Methoden, um festzustellen, ob eine Datei oder ein Ordner in Python vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!