python | как скопировать все содержимое папки КРОМЕ чего-нибудь

есть C:\papka, в ней хранятся 123.py, 123.txt, test1 и test2 (test'ы это папки со своим содержимым)

вопрос такой: как мне скопировать только, скажем, 123.txt и test2, проигнорировав 123.py и test1?

ps копировать надо в какую то другую папку, например в D:/qwerty/qwerty, код:

papkaPath = os.path.abspath("C:/papka")
shutil.copytree(papkaPath, dist)' # функция копирования

Ответы (1 шт):

Автор решения: ganz

Использовать именованый параметр ignore в сочетании с собственной функцией, либо с функцией ignore_patterns

from shutil import copytree, ignore_patterns

copytree(source, destination, ignore=ignore_patterns('*.pyc', 'dir/folder/file.ext'))

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

→ Ссылка