> **Источник:** https://python-all.ru/3.0/library/glob.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# `glob` – раскрытие шаблонов путей в стиле Unix

Модуль `glob` находит все пути, соответствующие указанному шаблону, по правилам, используемым в оболочке Unix. Подстановка тильды не выполняется, но `*`, `?` и диапазоны символов, заданные с помощью `[]`, будут корректно обрабатываться. Это достигается совместным использованием функций [`os.listdir()`](https://python-all.ru/3.0/library/os.html#os.listdir) и [`fnmatch.fnmatch()`](https://python-all.ru/3.0/library/fnmatch.html#fnmatch.fnmatch), а не вызовом подоболочки. (Для подстановки тильды и переменных оболочки используйте [`os.path.expanduser()`](https://python-all.ru/3.0/library/os.path.html#os.path.expanduser) и [`os.path.expandvars()`](https://python-all.ru/3.0/library/os.path.html#os.path.expandvars).)

#### `[glob.glob]glob.glob(pathname)`

Возвращает (возможно пустой) список путей, соответствующих

*pathname*

, который должен быть строкой, содержащей спецификацию пути.

*pathname*

может быть абсолютным (например,

`/usr/src/Python-1.5/Makefile`

) или относительным (например,

`../../Tools/*/*.gif`

) и может содержать шаблоны в стиле оболочки. Битые симлинки включаются в результаты (как в оболочке).

#### `[glob.iglob]glob.iglob(pathname)`

Возвращает

[*итератор*](https://python-all.ru/3.0/glossary.html#term-iterator)

, который выдаёт те же значения, что и

[`glob()`](https://python-all.ru/3.0/library/glob.html#glob.glob)

, без хранения их всех одновременно.

Например, рассмотрим каталог, содержащий только следующие файлы: `1.gif`, `2.txt` и `card.gif`. [`glob()`](https://python-all.ru/3.0/library/glob.html#glob.glob) выдаст следующие результаты. Обратите внимание, что начальные компоненты пути сохраняются.

```python
>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
```

> **См. также**
>
> **Модуль [`fnmatch`](https://python-all.ru/3.0/library/fnmatch.html#module-fnmatch)**
>
> Расширение имен файлов (не путей) в стиле оболочки
