Wie man prüft, ob eine Datei in Python existiert

Jinku Hu 30 Januar 2023
  1. try...except, die Datei existence zu prüfen (>Python 2.x)
  2. os.path.isfile() um zu prüfen, ob die Datei existiert (>=Python 2.x)
  3. pathlib.Path.is_file() um zu prüfen, ob die Datei existiert (>=Python 3.4)
Wie man prüft, ob eine Datei in Python existiert

Dieses Tutorial stellt drei verschiedene Lösungen vor, um zu prüfen, ob eine Datei in Python existiert.

  1. try...except Block, um die Existenz der Datei zu prüfen (>=Python 2.x)
  2. os.path.isfile Funktion zur Überprüfung der Dateiexistenz (>=Python 2.x)
  3. pathlib.Path.is_file() Prüfung der Dateiexistenz (>=Python 3.4)

try...except, die Datei existence zu prüfen (>Python 2.x)

Wir könnten versuchen, die Datei zu öffnen und prüfen, ob die Datei existiert oder nicht, abhängig davon, ob der IOError (in Python 2.x) oder FileNotFoundError (in Python 3.x) geworfen wird oder nicht.

def checkFileExistance(filePath):
    try:
        with open(filePath, "r") as f:
            return True
    except FileNotFoundError as e:
        return False
    except IOError as e:
        return False

In den obigen Beispielcodes machen wir es Python 2 / 3-kompatibel, indem wir sowohl FileNotFoundError als auch IOError im Exception-Catching-Teil auflisten.

os.path.isfile() um zu prüfen, ob die Datei existiert (>=Python 2.x)

import os

fileName = "temp.txt"
os.path.isfile(fileName)

Es prüft, ob die Datei fileName existiert.

Warnung

Einige Entwickler ziehen es vor, os.path.exists() zu benutzen, um zu prüfen, ob eine Datei existiert. Aber es könnte nicht unterscheiden, ob das Objekt eine Datei oder ein Verzeichnis ist.

import os

fileName = "temp.txt"
print(os.path.exists(fileName))

fileName = r"C:\Test"
print(os.path.exists(fileName))

Verwenden Sie daher nur os.path.isfile, wenn Sie überprüfen wollen, ob die Datei existiert.

pathlib.Path.is_file() um zu prüfen, ob die Datei existiert (>=Python 3.4)

Seit Python 3.4 führt es eine objektorientierte Methode im Modul pathlib ein, um zu prüfen, ob eine Datei existiert.

from pathlib import Path

fileName = "temp.txt"
fileObj = Path(fileName)
print(fileObj.is_file())

Ähnlich hat es auch die Methoden is_dir() und exists(), um zu prüfen, ob ein Verzeichnis oder eine Datei/ein Verzeichnis existiert.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - Python File