Как работает модуль fnmatch с масками в python

Как работает модуль fnmatch с масками в python

Опубликовано: 12.04.2025

Модуль fnmatch в Python позволяет сравнивать имена файлов и строки с шаблонами, используя символы подстановки, такие как звёздочка (*) и вопросительный знак (?). Это полезно для поиска файлов, соответствующих определённому шаблону, или для фильтрации строк по определённым критериям.


Импорт модуля fnmatch


import fnmatch

Основные функции

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

  1. fnmatch.fnmatch(filename, pattern) — сравнивает имя файла с заданным шаблоном и возвращает True, если они совпадают, иначе False.
  2. fnmatch.filter(names, pattern) — возвращает список имен файлов, которые соответствуют заданному шаблону.

Использование функции fnmatch.fnmatch

Обратите внимание, что символ * заменяет любое количество символов, а символ ? заменяет только один символ.

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


import fnmatch
filename = 'example.txt'
pattern = '*.txt'
result = fnmatch.fnmatch(filename, pattern)
print(result)  # Вывод: True

Использование функции fnmatch.filter

Пример использования функции fnmatch.filter:


files = ['example.txt', 'test.py', 'image.jpg']
pattern = '*.txt'
result = fnmatch.filter(files, pattern)
print(result)  # Вывод: ['example.txt']

В этом примере мы получаем список файлов, соответствующих заданному шаблону.

Использование диапазонов символов

Также можно использовать диапазоны символов в квадратных скобках [] для более точного совпадения:


filename = 'example1.txt'
pattern = 'example[0-9].txt'
result = fnmatch.fnmatch(filename, pattern)
print(result)  # Вывод: True

В этом примере шаблон соответствует именам файлов, содержащим любую цифру от 0 до 9.


Вам могут быть интересны материалы:

Какие профессии будут востребованы в будущем?

Поговорим о том, какие профессии будут востребованы в будущем — и на кого стоит учиться уже сейчас.

Библиотеки для разработки игр на Python

Python можно использовать не только в работе с данными, но и для создания игр — например, платформеров, шутеров или песочниц. Я собрал для Вас несколько простых инструментов для геймдева.

Что такое среда программирования Scratch?

Поговорим о среде программирования Scratch. Что это за технология, для кого она предназначена и чем она полезна.


Наш сайт использует куки.
Пользуясь сайтом вы соглашаетесь
на обработку персональных данных.
Согласиться и закрыть это окно - нажмите «ОК».
OK