Фон
Я использую оператор assert
, чтобы проверить, существуют ли определенные файлы в list
на моем компьютере, тогда я хотел бы продолжить работу, если все эти файлы есть.Я ссылался на этот поток , поэтому я делаю что-то вроде этого:
from pathlib import Path
# The list containing several filepaths
files = ['folder/file1', 'folder/file2', 'folder/file3']
# check if all of these files are exist
assert all(Path(n).exists() for n in files)
# Do something else ...
# ...
Этот фрагмент кода работает.Если один файл не существует, программа выдаст AssertionError
.
Вопрос
Теперь я хотел бы всех файлов, которые не существуют , вместо простого AssertionError
.
Есть ли однострочное решение для этого?
Что я пробовал
Я пробовал следующее:
assert all(Path(n).exists() for n in files), f"file {n} not exist!"
Запуск этого кода выдаст сообщение NameError: name 'n' is not defined
.