fnmatch
Сопоставление с образцом имени файла в Unix
Этот модуль обеспечивает поддержку подстановочных знаков в стиле оболочки Unix, которые не совпадают с регулярными выражениями (которые описаны в модуле re). В подстановочных знаках в стиле оболочки используются следующие специальные символы:
Шаблон
Значение
*
соответствует всему
?
соответствует любому одиночному символу
[seq]
соответствует любому символу в seq
[!seq]
соответствует любому символу не из seq
Для буквального соответствия заключите мета-символы в скобки. Например, '[?]'
Соответствует символу '?'
.
Обратите внимание, что разделитель имени файла ('/'
в Unix) не является специальным для этого модуля. См. модуль glob для раскрытия имени пути (glob использует filter () для сопоставления сегментов имени пути). Точно так же имена файлов, начинающиеся с точки, не являются специальными для этого модуля и соответствуют символам *
и ?
шаблона.
Список функций модуля:
fnmatch.fnmatch () - проверяет соответствует ли строка имени файла строке шаблона
fnmatch.fnmatchcase () - то же, что и fnmatch (), но с учетом регистра имени файла
fnmatch.filter () - возвращает подмножество списка имен, соответствующих шаблону
fnmatch.translate () - возвращает шаблон, преобразованный в регулярное выражение
См. также модуль glob - расширение пути в стиле оболочки Unix
Last updated
Was this helpful?