Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
23 Июн 2023
3 мин
6656

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

Узнайте, как работать с модулем fnmatch в Python для сравнения имен файлов и строк с шаблонами, используя символы подстановки!

Модуль fnmatch предоставляет возможность сравнивать имена файлов и строки с шаблонами, используя символы подстановки, такие как *, ? и []. В этой статье мы рассмотрим основные функции и примеры использования этого модуля.

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

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

Для начала импортируем модуль 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

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

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

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

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

import fnmatch

files = ['example.txt', 'test.py', 'image.jpg']
pattern = '*.txt'

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

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

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

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

import fnmatch

filename = 'example1.txt'
pattern = 'example[0-9].txt'

result = fnmatch.fnmatch(filename, pattern)
print(result)  # Вывод: True

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

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Заключение

Модуль fnmatch является удобным инструментом для работы с именами файлов и строками на основе шаблонов. С его помощью можно быстро и легко сравнить строки и отфильтровать списки файлов.

Примеры в этой статье помогут вам начать использовать этот модуль в своих проектах на Python.

Добавить комментарий

Подарок
Забрать подарок