Python: уроки, справочник и задачи

Python glob

Раздел: Работа с файлами в Python · Обновлено 31.10.2026

При работе с файлами в Python одним из наиболее полезных модулей является glob. Модуль glob позволяет получать файлы/пути к файлам, соответствующие определенному шаблону. Это может быть крайне полезно, когда вам нужно работать с несколькими файлами, которые следуют определенной конвенции именования или хранятся в определенных каталогах.

Python glob
Фото: Sam Wilson (taken with Samsung Galaxy S21 FE 5G) / CC BY-SA 4.0, Wikimedia Commons
Содержание статьи
  1. Что такое Python Glob?
  2. Как использовать Python Glob
  3. Распространенные шаблоны в Python Glob
  4. Заключение

Что такое Python Glob?

Модуль glob в Python используется для получения файлов/путей к файлам, соответствующих указанному шаблону. Он поддерживает расширение шаблонов имен файлов в стиле Unix, что облегчает работу с группами файлов на основе шаблонов. Этот модуль особенно удобен для задач, таких как поиск всех файлов с определенным расширением или префиксом в каталоге.

Как использовать Python Glob

Использовать glob просто и непосредственно. Основная функция, предоставляемая модулем glob, - это glob.glob(), которая принимает шаблон пути к файлу в качестве аргумента и возвращает список путей к файлам, соответствующих шаблону. Вот базовый пример:

import glob
# Найти все файлы Python в текущем каталоге
python_files = glob.glob('*.py')
for file in python_files:
    print(file)

В этом примере glob.glob('*.py') вернет список всех файлов Python в текущем каталоге. Вы можете изменить шаблон по своему усмотрению, например, искать файлы с определенным префиксом, расширением или любым другим шаблоном.

Помимо основной функции glob.glob(), модуль glob также предоставляет возможность использовать функцию glob.iglob(). Эта функция возвращает итератор, который постепенно возвращает пути к файлам, соответствующие указанному шаблону, что может быть полезно при обработке большого количества файлов.

Пример использования функции glob.iglob():

import glob
# Получить итератор для всех файлов PNG в текущем каталоге и подкаталогах
png_files_iterator = glob.iglob('**/*.png', recursive=True)
for file_path in png_files_iterator:
    print(file_path)

В этом примере glob.iglob('**/*.png', recursive=True) будет возвращать итератор для всех файлов PNG в текущем каталоге и всех подкаталогах. При обработке больших объемов данных это может быть эффективным способом работы с файлами.

Распространенные шаблоны в Python Glob

Вот некоторые распространенные шаблоны, которые можно использовать с Python Glob:

Заключение

Python Glob - мощный инструмент для сопоставления шаблонов файлов в Python. Понимая, как использовать модуль glob и его различные шаблоны, вы можете эффективно работать с группами файлов на основе определенных критериев. Будь то обработка журнальных файлов, анализ наборов данных или выполнение любых других задач, связанных с файлами, Python Glob поможет упростить ваш рабочий процесс и сделать ваш код более эффективным.

Начните использовать Python Glob уже сегодня и упростите обработку файлов в Python!