все Python 3globфункция
glob.glob()
поиск файлов
Возвращает список путей, подходящих под шаблон в стиле оболочки: *, ?, [abc] и ** с recursive=True.
Синтаксис
glob.glob(pathname, *, root_dir=None, dir_fd=None, recursive=False, include_hidden=False) -> list[str]
Порядок результатов произвольный — зависит от файловой системы, поэтому для стабильного вывода нужен sorted(). Шаблон ** работает рекурсивно только с recursive=True, иначе ведёт себя как *. Файлы, начинающиеся с точки, * не находит (как в оболочке), а несуществующий каталог даёт пустой список, а не ошибку.
Примеры
import glob, os
os.makedirs('src/sub', exist_ok=True)
for name in ['a.py', 'b.txt', 'sub/c.py', '.hidden.py']:
open(os.path.join('src', name), 'w').close()
print(sorted(glob.glob('*.py', root_dir='src'))) # → ['a.py']
print(sorted(glob.glob('**/*.py', root_dir='src', recursive=True))) # → ['a.py', 'sub/c.py']
print(glob.glob('nope/*')) # → []
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности