Bestimmen der Dateiexistenz ohne Ausnahmen
Beim Umgang mit Dateien ist es wichtig, die Existenz einer Datei zu überprüfen, bevor versucht wird, Vorgänge zu vermeiden Ausnahmen. So erledigen Sie diese Aufgabe, ohne sich auf die try-Anweisung zu verlassen:
Verwenden von os.path.isfile
In Szenarien, in denen Sie nicht vorhaben, die Datei sofort zu öffnen , können Sie os.path.isfile verwenden, insbesondere wenn Sie eine Bestätigung benötigen, dass es sich bei der Entität um eine Datei handelt. Diese Funktion gibt True zurück, wenn der angegebene Pfad einer vorhandenen regulären Datei entspricht. Es ist wichtig zu beachten, dass os.path.isfile symbolischen Links folgt, was bedeutet, dass sowohl islink() als auch isfile() für denselben Pfad „True“ zurückgeben können.
import os.path os.path.isfile(fname)
Nutzung von pathlib
Python 3.4 führte das Pathlib-Modul ein, das einen objektorientierten Ansatz bietet. Mit pathlib können Sie mithilfe des Path-Objekts Existenzprüfungen durchführen. Hier einige Beispiele:
Um zu überprüfen, ob eine Datei vorhanden ist:
from pathlib import Path my_file = Path("/path/to/file") if my_file.is_file(): # file exists
Um zu überprüfen, ob ein Verzeichnis vorhanden ist:
if my_file.is_dir(): # directory exists
Um zu überprüfen, ob ein Path-Objekt vorhanden ist, unabhängig davon, ob es sich um eine Datei oder handelt Verzeichnis:
if my_file.exists(): # path exists
Auflösungspfad mit strict=True
Sie können „resolve()“ auch mit strict=True in einem Try-Block verwenden Existenz zu bestimmen. Wenn die Lösung erfolgreich ist, ist der Pfad vorhanden; Andernfalls ist dies nicht der Fall.
try: my_abs_path = my_file.resolve(strict=True) except FileNotFoundError: # doesn't exist else: # exists
Durch den Einsatz dieser Techniken können Sie sicher prüfen, ob eine Datei vorhanden ist, ohne unerwünschte Ausnahmen auszulösen, und so robuste Dateiverarbeitungsvorgänge in Ihrem Code sicherstellen.
Das obige ist der detaillierte Inhalt vonWie überprüfe ich das Vorhandensein einer Datei in Python, ohne Ausnahmen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!