Muszę sprawdzić bieżący katalog i sprawdzić, czy istnieje plik z rozszerzeniem. Moja konfiguracja (zwykle) ma tylko jeden plik z tym rozszerzeniem. Muszę sprawdzić, czy plik istnieje, a jeśli tak, uruchom polecenie.Sprawdź, czy katalog zawiera plik z określonym rozszerzeniem
Jednak kilka razy uruchamia else
, ponieważ istnieje wiele plików z alternatywnymi rozszerzeniami. Musi on uruchamiać tylko else
, jeśli plik nie istnieje, a nie raz dla każdego innego pliku. Moja próbka kodu znajduje się poniżej.
Katalog jest skonstruowany w taki sposób:
dir_________________________________________
\ \ \ \
file.false file.false file.true file.false
Kiedy biegnę:
import os
for File in os.listdir("."):
if File.endswith(".true"):
print("true")
else:
print("false")
Wyjście jest:
false
false
true
false
Problem polega na tym, gdybym zastąpiono print("false")
przy pomocy coś przydatnego, uruchomi go wiele razy.
Edit: Poprosiłem to pytanie 2 lata temu, i to wciąż widząc bardzo łagodne działanie, dlatego chciałbym zostawić to tutaj dla innych ludzi: http://book.pythontips.com/en/latest/for_-_else.html#else-clause