Ich muss das aktuelle Verzeichnis überprüfen und prüfen, ob eine Datei mit einer Erweiterung existiert. Mein Setup wird (normalerweise) nur eine Datei mit dieser Erweiterung haben. Ich muss prüfen, ob diese Datei existiert, und wenn dies der Fall ist, einen Befehl ausführen.
Allerdings wird else
mehrmals ausgeführt, da mehrere Dateien mit alternativen Erweiterungen vorhanden sind. Es darf nur else
ausführen, wenn die Datei nicht existiert, nicht einmal für jede andere Datei. Mein Codebeispiel ist unten.
Das Verzeichnis ist folgendermaßen aufgebaut:
%Vor%Wenn ich renne:
%Vor%Die Ausgabe ist:
%Vor% Das Problem damit ist, wenn ich print("false")
durch etwas Nützliches ersetzt habe, wird es mehrmals ausgeführt.
Bearbeiten: Ich habe diese Frage vor zwei Jahren gestellt, und es sieht immer noch sehr milde Aktivität, deshalb möchte ich dies hier für andere Leute lassen: Ссылка
Sie können den else
-Block von for
verwenden:
else
an for
wird immer dann ausgeführt, wenn break
in der Schleife nicht ausgeführt wird. Wenn Sie eine for
-Schleife als einen Weg betrachten, etwas zu suchen, dann sagt break
, ob Sie etwas gefunden haben. % Co_de% wird ausgeführt, wenn Sie nicht gefunden haben, wonach Sie gesucht haben.
Alternativ:
%Vor% Außerdem können Sie anstelle von else
:
glob
verwenden
%Vor%
Tags und Links python file-exists