Python Glossary English

все Python 3shutilфункция

shutil.ignore_patterns()

деревья каталогов

Создаёт функцию-фильтр для параметра ignore у copytree(): пропускать имена, подходящие под шаблоны glob.

Синтаксис

shutil.ignore_patterns(*patterns)

Шаблоны сравниваются с именами в каждом каталоге, а не с путями: '*.pyc' исключит такие файлы на любой глубине, а шаблон с косой чертой вроде 'build/*.o' не сработает никогда. Подошедший под шаблон каталог пропускается целиком, вместе со всем содержимым. Сама ignore_patterns ничего не копирует — она лишь возвращает функцию (каталог, имена) → множество игнорируемых имён.

Примеры

import shutil
f = shutil.ignore_patterns('*.pyc', '__pycache__')
print(sorted(f('src', ['a.py', 'a.pyc', '__pycache__'])))  # → ['__pycache__', 'a.pyc']
import os, shutil
os.makedirs('src/pkg/__pycache__')
open('src/pkg/m.py', 'w').close()
open('src/pkg/m.pyc', 'w').close()
shutil.copytree('src', 'dst', ignore=shutil.ignore_patterns('*.pyc', '__pycache__'))
print(os.listdir('dst/pkg'))  # → ['m.py']

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности