Ich möchte die Datei löschen filename
wenn sie existiert. Ist es richtig zu sagen
if os.path.exists(filename):
os.remove(filename)
Gibt es einen besseren Weg? Eine einzeilige Methode?
Ich möchte die Datei löschen filename
wenn sie existiert. Ist es richtig zu sagen
if os.path.exists(filename):
os.remove(filename)
Gibt es einen besseren Weg? Eine einzeilige Methode?
if os.path.exists(filename): os.remove(filename)
ist ein Einzeiler.
Viele von Ihnen mögen anderer Meinung sein - möglicherweise aus Gründen wie der, dass sie die vorgeschlagene Verwendung von Ternären "hässlich" finden -, aber das wirft die Frage auf, ob wir auf Leute hören sollten, die an hässliche Standards gewöhnt sind, wenn sie etwas, das nicht dem Standard entspricht, "hässlich" nennen.
Matts Antwort ist das richtige für ältere Pythons und Kevin's die richtige Antwort für die neueren.
Wenn Sie die Funktion nicht kopieren möchten, um silentremove
wird diese Funktionalität in pfad.py como entfernen_p :
from path import Path
Path(filename).remove_p()
Eine andere Möglichkeit, festzustellen, ob die Datei (oder die Dateien) vorhanden sind, und sie zu entfernen, ist die Verwendung des Moduls glob.
from glob import glob
import os
for filename in glob("*.csv"):
os.remove(filename)
Glob findet alle Dateien, die das Muster mit einem *nix-Wildcard auswählen könnten, und führt die Liste in einer Schleife aus.
Seit Python 3.3 können Sie FileNotFoundError
die korrekter ist als die akzeptierte Version, da sie andere mögliche Fehler nicht außer Acht lässt.
try:
os.remove(filename)
except FileNotFoundError:
pass
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.