Я хочу удалить некоторые файлы из файловой системы. Я получаю список, имеющий абсолютный путь к файлам, а логика - удаление найденных файлов и печать их имени.Удаление файлов в Pythonic способ
Logic Я написал следующее: это удаляет найденный файл в temp_list
, но не печатает их имя.
log.info("Files removed [%s]", [os.remove(f) for f in temp_list if os.path.exists(f)])
Выходной сигнал [None, None..]
.
Могу ли я изменить утверждение, чтобы файлы были удалены и удалены файлы также напечатаны в одном заявлении?
Использование понимания списка для побочных эффектов, как правило, является плохой практикой, но вы можете сделать '[f для f в temp_list, если os.path.exists (f) и os.remove (f) is None]' – jonrsharpe
@tobias_k it должно быть чем-то правдой-y для условия фильтрации, чтобы включить 'f' в выход; вы можете сохранить несколько символов с 'не', я полагаю. – jonrsharpe
@jonrsharpe Вы правы, не думали об этом. –