Как работает модуль 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 хранится в модулях (modules) и пакетах (packages). Давайте немного разберемся с ними по подробнее.

Применение знаков (операторов) в информатике

В информатике существует множество знаков, которые имеют различные значения и функции. Иногда применение знаков в информатике вводит в заблуждение начинающих программистов, потому что результат часто отличается от того, к чему мы привыкли на уроках математики.

Какие основные команды у модуля turtle?

Turtle - это графическая библиотека, встроенная в язык программирования Python. Модуль использует метод «черепашьей графики», где виртуальная «черепаха» может перемещаться по экрану, оставляя за собой линии. С помощью turtle можно рисовать простые геометрические фигуры, создавать анимации и визуализировать алгоритмы.


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