Python Glossary English

Python 3.13+globфункция

glob.translate()

поиск файлов

Переводит шаблон glob в строку регулярного выражения, чтобы сопоставлять пути без обращения к диску (3.13+).

Синтаксис

glob.translate(pathname, *, recursive=False, include_hidden=False, seps=None) -> str

В отличие от fnmatch.translate, учитывает разделители каталогов: * не проходит через '/', а ** работает только с recursive=True. Скрытые файлы по умолчанию не совпадают, как и у glob(); include_hidden=True это меняет. Возвращает строку — её нужно скомпилировать через re.compile().

Примеры

import glob, re
rx = re.compile(glob.translate('**/*.py', recursive=True, include_hidden=False))
print(bool(rx.match('pkg/mod.py')), bool(rx.match('pkg/.hidden.py')))  # → True False
flat = re.compile(glob.translate('*.py'))
print(bool(flat.match('pkg/mod.py')))  # → False — * не проходит через /

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности