> For the complete documentation index, see [llms.txt](https://treasuremaster.gitbook.io/python-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://treasuremaster.gitbook.io/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/glob.md).

# glob

### Расширение шаблона имени пути в стиле Unix

Модуль **glob** находит все пути, соответствующие заданному шаблону, в соответствии с правилами, используемыми оболочкой Unix, хотя результаты возвращаются в произвольном порядке. Расширение тильды `~` не выполняется, но `*`, `?`  , и диапазоны символов, выраженные с помощью `[]`, будут правильно сопоставлены. Это достигается за счет совместного использования функций [os.scandir ()](/python-docs/moduli-standartnoi-biblioteki-1/obshie-sluzhby-operacionnoi-sistemy/os/faily-i-direktorii/os.scandir.md) и [fnmatch.fnmatch ()](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/fnmatch/fnmatch.fnmatch.md), а не путем фактического вызова подоболочки. Обратите внимание, что в отличие от [fnmatch.fnmatch ()](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/fnmatch/fnmatch.fnmatch.md), **glob** рассматривает имена файлов, начинающиеся с точки (`.`), как особые случаи. (Для раскрытия переменных тильды и оболочки используйте [os.path.expanduser ()](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/os.path/os.path.expanduser.md) и [os.path.expandvars ()](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/os.path/os.path.expandvars.md).)

Для буквального соответствия заключите мета-символы в скобки. Например, `'[?]'` Соответствует символу `'?'`.

{% hint style="warning" %}
Смотрите также: модуль [pathlib](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/pathlib.md) предлагает высокоуровневые объекты пути.
{% endhint %}

Модуль предоставляет следующие встроенные функции:

* [glob ()](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/glob/glob.glob.md) - возвращает список имен путей, соответствующих заданной спецификации
* iglob ()
* escape ()

Например, рассмотрим каталог, содержащий следующие файлы: `1.gif`, `2.txt`, `card.gif` и подкаталог `sub`, содержащий только файл `3.txt`. [glob ()](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/glob/glob.glob.md) даст следующие результаты. Обратите внимание, как сохраняются все ведущие компоненты пути.

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

Если в каталоге есть файлы, начинающиеся с `.` они не будут совпадать по умолчанию. Например, рассмотрим каталог, содержащий `card.gif` и `.card.gif`:

```python
>>> import glob
>>> glob.glob('*.gif')
['card.gif']
>>> glob.glob('.c*')
['.card.gif']
```

{% hint style="info" %}
Смотрите также: модуль [fnmatch](/python-docs/moduli-standartnoi-biblioteki-1/dostup-k-failam-i-papkam/fnmatch.md) - расширение имени файла (не пути) в стиле оболочки
{% endhint %}
