Python проверка существования файла по расширению
Я просто голову сломал, что не так?
Если файл существует все ок. Если его нет мне надо проделать следующую часть кода, но ничего не происходит! Print не выводит.
Я перепробовал разные способы, этот мне показался самый простой.
Так же в папке присутствуют и другие файлы с другими расширениями.
for file in os.listdir('C:\pdd'):
if file.endswith(".004"):
if not file:
print('Пусто')
else:
print(os.path.join(file))
Ответы (3 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
У вас и так уже идет проверка на существование if file.endswith(".004"):
Поэтому if not file не выполнится
вынесите эту проверку на уровень с if file.endswith(".FDB")
import os
for file in os.listdir('D:\\'):
if file.endswith(".FDB"):
print(os.path.join(file))
else:
print('Пусто')
Автор решения: handowl
→ Ссылка
Да, немного непонятно, зачем нужна вторая проверка. Может быть, чтобы читать файл? Но это делается немного по-другому.
for file in os.listdir('api'):
if file.endswith(".004"):
if not file:
print('Пусто')
else:
print(os.path.join(file))
else:
print(f'Файл {file} не заканчивается на это')
Автор решения: gil9red
→ Ссылка
Для поиска файлов по расширению можно использовать wildcard
Через glob:
from glob import glob
for file in glob(r'C:\Program Files\**\*.jpg', recursive=True):
print('[glob]', file)
Через pathlib:
from pathlib import Path
for file in Path(r'C:\Program Files').rglob('*.jpg'):
print('[pathlib]', file)