Notes
shutil.copytree()
has an optional ignore
argument that takes a callable
object. This callable will receive each directory path and a
list of the directory’s contents, and returns a list of
names that will be ignored, not copied.
The
shutil
module also provides an
ignore_patterns()
function for use
with this new parameter. ignore_patterns()
takes an
arbitrary number of glob-style patterns and returns a
callable that will ignore any files and directories that
match any of these patterns. The following example copies a
directory tree, but skips both .svn
directories and Emacs
backup files, which have names ending with ‘~’:
shutil.copytree('Doc/library', '/tmp/library', ignore=shutil.ignore_patterns('*~', '.svn'))