glob
Расширение шаблона имени пути в стиле Unix
Модуль glob находит все пути, соответствующие заданному шаблону, в соответствии с правилами, используемыми оболочкой Unix, хотя результаты возвращаются в произвольном порядке. Расширение тильды ~
не выполняется, но *
, ?
, и диапазоны символов, выраженные с помощью []
, будут правильно сопоставлены. Это достигается за счет совместного использования функций os.scandir () и fnmatch.fnmatch (), а не путем фактического вызова подоболочки. Обратите внимание, что в отличие от fnmatch.fnmatch (), glob рассматривает имена файлов, начинающиеся с точки (.
), как особые случаи. (Для раскрытия переменных тильды и оболочки используйте os.path.expanduser () и os.path.expandvars ().)
Для буквального соответствия заключите мета-символы в скобки. Например, '[?]'
Соответствует символу '?'
.
Смотрите также: модуль pathlib предлагает высокоуровневые объекты пути.
Модуль предоставляет следующие встроенные функции:
glob () - возвращает список имен путей, соответствующих заданной спецификации
iglob ()
escape ()
Например, рассмотрим каталог, содержащий следующие файлы: 1.gif
, 2.txt
, card.gif
и подкаталог sub
, содержащий только файл 3.txt
. glob () даст следующие результаты. Обратите внимание, как сохраняются все ведущие компоненты пути.
Если в каталоге есть файлы, начинающиеся с .
они не будут совпадать по умолчанию. Например, рассмотрим каталог, содержащий card.gif
и .card.gif
:
Смотрите также: модуль fnmatch - расширение имени файла (не пути) в стиле оболочки
Last updated