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