671 Stimmen

Der pythonischste Weg, eine Datei zu löschen, die möglicherweise nicht existiert

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?

0voto

Andy Jones Punkte 6091

So etwas wie das hier? Nutzt die Vorteile der Kurzschlussauswertung. Wenn die Datei nicht existiert, kann die gesamte Bedingung nicht wahr sein, so dass Python sich nicht die Mühe macht, den zweiten Teil auszuwerten.

os.path.exists("gogogo.php") and os.remove("gogogo.php")

0voto

Baz Punkte 11657

Ein KISS-Angebot:

def remove_if_exists(filename):
  if os.path.exists(filename):
    os.remove(filename)

Und dann:

remove_if_exists("my.file")

-1voto

Kian Punkte 1289

Dies ist eine andere Lösung:

if os.path.isfile(os.path.join(path, filename)):
    os.remove(os.path.join(path, filename))

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