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Сообщить о неточности