7118 Stimmen

Wie kann ich überprüfen, ob eine Datei ohne Ausnahmen existiert?

Wie prüfe ich, ob eine Datei existiert oder nicht, ohne die try Aussage?

16 Stimmen

Um zu prüfen, ob ein Path-Objekt existiert, unabhängig davon, ob es sich um eine Datei oder ein Verzeichnis handelt, verwenden Sie my_path.exists() .

1 Stimmen

my_path.exists() ist nicht ausreichend. my_path.is_file() wird Ihnen sagen, ob es sich um eine Datei handelt (könnte zum Lesen gut sein). Aber wenn Sie die Datei erstellen wollen, müssen Sie auch prüfen exists schließen Sie also Verzeichnisse oder andere Dinge im Dateisystem, die keine Dateien sind, aus, die den Fehler verursachen.

0 Stimmen

Verwenden Sie os.path.isfile, um nur Dateien zu prüfen, und verwenden Sie os.path.exists, um sowohl Dateien als auch Verzeichnisse zu prüfen. Mehr dazu erfahren Sie hier: shortbuzz.in/blog/shortbuzz.in/

6voto

iPhynx Punkte 459

Sie können os.listdir verwenden, um zu prüfen, ob sich eine Datei in einem bestimmten Verzeichnis befindet.

import os
if 'file.ext' in os.listdir('dirpath'):
    #code

3 Stimmen

Wird unter Windows nicht funktionieren, da das Dateisystem nicht zwischen Groß- und Kleinschreibung unterscheidet. Und sehr uneffektiv, weil es das gesamte Verzeichnis durchsucht.

6voto

Vimal Maheedharan Punkte 504
import os

# for testing purpose args defaulted to current folder & file. 
# returns True if file found
def file_exists(FOLDER_PATH='../', FILE_NAME=__file__):
    return os.path.isdir(FOLDER_PATH) \
        and os.path.isfile(os.path.join(FOLDER_PATH, FILE_NAME))

Grundsätzlich eine Ordnerprüfung, dann eine Dateiprüfung mit korrektem Verzeichnis-Trennzeichen unter Verwendung von os.path.join .

5voto

Zaheer Punkte 284

Sie können die folgende open-Methode verwenden, um zu prüfen, ob eine Datei existiert und lesbar ist:

file = open(inputFile, 'r')
file.close()

8 Stimmen

Dies führt definitiv zu einer Ausnahme, wenn die Datei nicht vorhanden ist....

0 Stimmen

Die Frage lautete "Wie kann ich überprüfen, ob eine Datei ohne Ausnahmen existiert?" .

4voto

Eine andere Möglichkeit besteht darin, mit os.listdir() zu prüfen, ob sich der Dateiname in dem Verzeichnis befindet

import os
if 'foo.txt' in os.listdir():
    # Do things

Dies gibt true zurück, wenn es so ist, und false, wenn nicht

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X