8 Möglichkeiten, mit Python zu überprüfen, ob eine Datei vorhanden ist
Pythons Abhängigkeit von externen Dateien ist ein entscheidender Aspekt. Es ist ratsam, die Basis- / Quelldateien zu beachten, bevor Sie Code ausführen. Bevor Sie ein bestimmtes Programm ausführen, müssen Sie sicherstellen, dass Ihre Quelldateien am angegebenen Speicherort vorhanden sind.
Jeder Entwickler versteht die Notwendigkeit, Fallback-Codes zu erstellen, die ein Programm vor dem Versagen bewahren können, falls eine Bedingung nicht erfüllt ist. In Python gibt es mehrere Möglichkeiten, um zu überprüfen, ob eine Datei existiert. Hier sind die wichtigsten Methoden, die Sie kennen sollten.
1. Versuchen Sie, Aussagen auszuschließen
Die try- und Exception-Anweisung überprüft einen Befehl und erzeugt eine Ausgabe. Im folgenden Code versucht die try- Anweisung, eine Datei ( testfile.txt ) zu öffnen. Wenn Pythons Prozessor die Datei finden kann, öffnet er die Datei und gibt das Ergebnis aus Datei ist geöffnet und zur Verwendung verfügbar .
try:
f = open('testfile.txt')
print("File is available for use")
f.close()
except IOError:
print('File is not accessible')

Wenn ein Fehler auftritt, druckt es das Ergebnis Datei ist nicht zugänglich . Sobald der vollständige Code kompiliert und ausgeführt wurde, wird die geöffnete Datei geschlossen, wenn sie geöffnet wurde.
Pythons Abhängigkeit von externen Dateien ist ein entscheidender Aspekt, und Sie müssen die Basis-/Quelldateien beachten, bevor Sie Codes ausführen.
Stellen Sie vor dem Ausführen eines bestimmten Programms sicher, dass Ihre Quelldateien an dem bestimmten Speicherort vorhanden sind.
2. Os.Pfad.isfile(Pfad)
Python hat ein integriertes Modul-Betriebssystem, das aufgerufen werden kann, um mit den zugrunde liegenden Dateien, Ordnern und Verzeichnissen zu interagieren. Pythons Methode os.path.isfile() kann verwendet werden, um ein Verzeichnis zu überprüfen und zu überprüfen, ob eine bestimmte Datei existiert.
Der erste Schritt besteht darin, die integrierte Funktion mithilfe der Bibliothek import os.path zu importieren . Der nächste Befehl prüft, ob die Datei an dem bestimmten Speicherort vorhanden ist.
import os.path
os.path.isfile(r"C:UsersWini BhallaDesktopPython test file.txt")
.jpg)
Die Ausgabe gibt True zurück , da die Datei an dem bestimmten Speicherort vorhanden ist. Wenn die Datei nicht existiert, gibt Python False zurück .
3. Os.Pfad.existiert(Pfad)
Aus ähnlichen Gründen kann die Anweisung import os library verwendet werden, um zu überprüfen, ob das Verzeichnis auf Ihrem System vorhanden ist.
Die Syntax ist ziemlich einfach:
Import os.path
os.path.exists(r"C:UsersWini BhallaDesktoptest")
.jpg)
Genau wie im vorherigen Schritt gibt Python True zurück, wenn das Verzeichnis/der Ordner im angegebenen Systempfad gefunden wird, und anschließend False , wenn das Verzeichnis/der Ordner nicht gefunden wird.
4. Os.Pfad.Isdir(Pfad)
Genau wie os.path.isfile und os.path.exists() ist os.path.isdir() eine Unterfunktion der os-Bibliothek. Der einzige Unterschied besteht darin, dass dieser Befehl nur für Verzeichnisse funktioniert. Erwartungsgemäß gibt die Verwendung dieser Syntax einen booleschen Wert zurück, der auf der Existenz von Verzeichnissen basiert.
Zum Beispiel:
import os
os.path.isdir(r"C:UsersWini BhallaDesktopOS")
Die Ausgabe ist True , da der Ordner/das Verzeichnis unter dem angegebenen Pfad existiert.
import os
os.path.isdir(r"C:UsersWini BhallaDesktoptestdirectory")
-1.jpg)
Die Ausgabe ist False , da der Ordner/das Verzeichnis im angegebenen Pfad nicht vorhanden ist.
5. Pathlib.path.exists()
Python 3.4 und höher bieten das Pathlib- Modul, das mit der Importfunktion importiert werden kann. Pathlib erfasst die erforderlichen Funktionalitäten an einem Ort und stellt sie über verschiedene Methoden zur Verwendung mit dem Pfadobjekt zur Verfügung.
So verwenden Sie Pathlib:
import pathlib
file = pathlib.Path(r"C:UsersWini BhallaDesktopPython test file.txt")
if file.exists ():
print ("File exists")
else:
print ("File does not exist")

Je nach Existenz der Datei wird in der Ausgabe angezeigt, ob die Datei im angegebenen Pfad vorhanden ist oder nicht. Idealerweise kann der Code in der print- Anweisung entsprechend den Anforderungen Ihres Programms geändert werden
6. Os.listdir(Pfad)
Die Methode listdir in Python gibt eine Liste aller Dateien in einem bestimmten Verzeichnis zurück, wie vom Benutzer angegeben. Diese Methode gibt jedoch keine Dateien zurück, die in Unterordnern vorhanden sind.
Die Methode listdir akzeptiert nur einen Parameter, den Dateipfad. Idealerweise besteht der Dateipfad aus Datei- und Ordnernamen, die Sie abrufen möchten.
Die grundlegende Syntax umfasst:
os.listdir(path)
Im folgenden Beispiel können Sie eine Schleife erstellen, um alle im Verzeichnis aufgelisteten Dateien zu durchlaufen und dann zu prüfen, ob die angegebene Datei vorhanden ist, die mit der if- Anweisung deklariert wurde.
import os
path = r'C:UsersWini BhallaDesktop'
files = os.listdir(path)
print (files)
Dieser Code druckt die Liste der im aktuellen Verzeichnis verfügbaren Dateien aus.
import os
path = r'C:UsersWini BhallaDesktop' files = os.listdir(path)
for f in files:
if f == "test.txt":
print("File exists")
else:
print("File does not exist")
.jpg)
Wenn die Schleife ausgeführt wird, durchläuft die listdir- Funktion zusammen mit der if- Anweisungslogik die Liste der Dateien und gibt die Ergebnisse aus, abhängig von den in der print- Anweisung übergebenen Bedingungen.
7. Glob-Modul
Das Modul glob gleicht alle Pfadnamen mit den angegebenen Parametern ab und ermöglicht Ihnen kurz und bündig den Zugriff auf das Dateisystem. Da glob für den Mustervergleich verwendet wird, können Sie damit den Status einer Datei überprüfen.
Es gibt zwei Referenzen des Pfads:
- Absoluter Pfad: Verwenden Sie dies, wenn Sie nach einer Datei in einem anderen Verzeichnis suchen möchten.
- Relativer Pfad: Verwenden Sie dies, wenn Sie im aktuellen Verzeichnis nach einer Datei suchen möchten .
Wenn die Datei gefunden wird, gibt der Code True zurück , andernfalls wird False zurückgegeben .
Ein Beispiel für die Verwendung von Glob:
import glob
if glob.glob(r"C:UsersWini BhallaDesktoptest.txt"):
print ("File exist")
else:
print("File does not exist")

Die Ausgabe dieses Codes gibt das Ergebnis aus, wenn die Datei gefunden wird.
8. Teilprozess
Der Testbefehl im Unterprozessmodul ist eine effiziente Möglichkeit, die Existenz von Dateien und Verzeichnissen zu testen. Die Testbefehle funktionieren nur auf Unix-basierten Maschinen und nicht auf Windows-basierten Betriebssystem-Maschinen.
Sie können die folgenden Befehle nach Ihren Bedürfnissen verwenden:
- test -e: Überprüfe die Existenz eines Pfades
- test -f: Überprüfen Sie die Existenz einer Datei
- test-d: Überprüfen Sie die Existenz eines Ordners
Überprüfen eines Pfads mit Unterprozess:
from subprocess import run
run(['test', '-e', 'testfile.txt']).returncode == 0
run(['test', '-e', 'im-not-here.txt']).returncode == 0
Dieser Code rief die Testfunktion gefolgt von '-e' auf, um die Existenz eines Pfads zu überprüfen. Die Funktion zeigt False für einen ungültigen Pfad an.
Überprüfen einer Datei mit Unterprozess:
run(['test', '-f', 'testfile.txt']).returncode == 0
run(['test', '-f', 'testdirectory']).returncode == 0
Die Funktion '-f' testet die Existenz einer Datei und gibt False für ein Verzeichnis zurück.
Verifizieren eines Verzeichnisses mit Unterprozess:
run(['test', '-d', 'testfile.txt']).returncode == 0
run(['test', '-d', 'testdirectory']).returncode == 0
Die Funktion '-d' testet die Existenz eines Verzeichnisses und gibt False für jede Dateiabfrage im Testbefehl zurück.
Welchen Befehl verwenden Sie, um Ihre Dateien zu finden?
Python ist eine relativ einfach zu verwendende Sprache und bietet den Endbenutzern viele Optionen. Um die Existenz einer Datei(en) zu überprüfen, können Sie eines der oben aufgeführten Verfahren verwenden.
Wenn Sie jedoch Anfänger sind, gibt es immer Möglichkeiten, Python zu lernen. Da Python eine riesige Sprache ist, ist es am besten, einige Zeit damit zu verbringen, die verschiedenen Nuancen und den Umfang an Befehlen zu verstehen.