все 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Сообщить о неточности