Я пытаюсь перебрать некоторые файлы в каталоге.Если имя файла содержит две конкретные строки вместе, то я должен открыть и прочитать эти файлы для информации.Однако, если ни один из файлов не имеет этих двух строк, я хочу напечатать сообщение об ошибке только один раз.
for filename in os.listdir(directory):
if filename.find("<string1>") != -1 and filename.find("<string2>") != -1:
#open file
else:
#print error message
Я знаю, что при этом будет напечатано столько сообщений об ошибках, сколько файлов в каталоге (т.е.если есть 15 файлов без совпадений, я получу 15 сообщений об ошибках).Но я хочу напечатать сообщение об ошибке только один раз после того, как нет совпадений ни в одном из N файлов в каталоге.Я подумал, что мог бы сделать что-то вроде этого:
for filename in os.listdir(directory):
if filename.find("<string1>") != -1 and filename.find("<string2>") != -1:
#open file
else:
if filename[-1]: #if filename is last in directory
#print error message
Но я обнаружил, что это не работает.Как получить сообщение об ошибке для печати только после прочтения последнего имени файла и его несоответствия?