Модуль fnmatch предоставляет возможность сравнивать имена файлов и строки с шаблонами, используя символы подстановки, такие как *
, ?
и []
. В этой статье мы рассмотрим основные функции и примеры использования этого модуля.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Импорт модуля fnmatch
Для начала импортируем модуль fnmatch:
import fnmatch
Основные функции
Модуль fnmatch предоставляет две основные функции:
-
fnmatch.fnmatch(filename, pattern)
— сравнивает имя файла с заданным шаблоном и возвращает True, если они совпадают, иначе False. -
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.
Добавить комментарий