Мне нужно проверить текущий каталог и посмотреть, существует ли файл с расширением. Моя установка (обычно) будет иметь только один файл с этим расширением. Мне нужно проверить, существует ли этот файл, и если да, запустить команду.
Однако он запускает else
несколько раз, поскольку существует несколько файлов с альтернативными расширениями. Он должен запускать else
только в том случае, если файл не существует, а не один раз для каждого другого файла. Мой пример кода ниже.
Каталог устроен так:
dir_________________________________________
\ \ \ \
file.false file.false file.true file.false
Когда я бегу:
import os
for File in os.listdir("."):
if File.endswith(".true"):
print("true")
else:
print("false")
Результат:
false
false
true
false
Проблема в том, что если я заменю print("false")
чем-то полезным, он будет запускаться несколько раз.
Редактировать: я задал этот вопрос 2 года назад, и по нему все еще наблюдается очень умеренная активность, поэтому я хотел бы оставить это здесь для других людей: http://book.pythontips.com/en/latest/for_-_else.html#else-clause