Сообщить об ошибке.

Функция escape() модуля glob в Python

Экранировать специальные символы в шаблоне glob()

Синтаксис:

import glob

glob.escape(pathname)

Параметры:

  • pathname - строка со специальными символами.

Возвращаемое значение:

  • строка с экранированными специальными символами.

Описание:

Функция escape() модуля glob экранирует все специальные символы '?', '*' и '[', используемые в шаблоне функции glob.glob().

Такое поведение полезно, если необходимо сопоставить произвольную литеральную строку, в которой могут быть вышеуказанные специальные символы.

Специальные символы в разделах drive/UNC не экранируются, например в Windows выражение escape('//?/c:/Quo vadis?.txt') возвращает '//?/c:/Quo vadis[?].txt'.

Примеры использования:

Иногда необходимо искать файлы с именами, содержащими специальные метасимволы, которые glob.glob() использует для своих шаблонов.

Функция glob.escape() создает подходящий шаблон с экранированными специальными символами, чтобы они не расширялись и не интерпретировались как специальные.

import glob

specials = '?*['

for char in specials:
    pattern = 'dir/*' + glob.escape(char) + '.txt'
    for name in sorted(glob.glob(pattern)):
        print(name)

# dir/file?.txt
# dir/file*.txt
# dir/file[.txt