Kann man in Python3 herausfinden, ob eine Datei existiert?
Mein derzeitiger Code ist:
name = input("Wie heißt die Datei? (Bitte mit Endung) ")
with open(name, "rw") as file:
if file.read() == "":
print("Die Datei gibt es nicht!")
else:
print("Die Datei gibt es!")
Allerdings, wenn die Datei existiert, aber sie keinen Inhalt hat, sagt er "Die Datei gibt es nicht". Wie kann ich das verhindern?
Außerdem
Ich weiß, eine leere Datei = 0B = keine richtige Datei, da sie nichts enspricht.
Aber da die Datei doch gespeichert ist auf der Festplatte, müsste das ja als existierende Datei gelten!
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, programmieren
Ja, eine leere Datei existiert, weil eien Inode mit MEtadaten rumgammelt.
import os.path
if os.path.exists(f):
#do work (open, read, ...)
Alternativ wurde Dir schon isfile() genannt, dieses wird wahr, wenn es eine reguläre Datei ist.
path.isFile(path) sollte gehen.
Woher ich das weiß:Berufserfahrung – Softwareentwicklerin
Das heißt
import path
with open(name, "rw") as file:
f = file.read()
if path.isFile(f):
print("Es gibt die Datei!")
else:
print("Es gibt sie nicht!")
?
Wäre das nicht eher os.path.isfile?