August 2018
Intermediate to advanced
366 pages
10h 14m
English
shutil.copytree will retrieve the content of the provided directory through os.listdir. For every entry returned by listdir, it will check whether it's a file or a directory.
If it's a file, it will copy it through the shutil.copy2 function (it's actually possible to replace the used function by providing a copy_function argument), if it's a directory, copytree itself is called recursively.
The ignore argument is then used to build a function that, once called, will return all the files that need to be ignored given a provided pattern:
>>> f = shutil.ignore_patterns('*.rtc', '*.stylelog') >>> f('_build', ['_build/pdf/PySTLCookbook.pdf', '_build/pdf/PySTLCookbook.rtc', '_build/pdf/PySTLCookbook.stylelog']) {'_build/pdf/PySTLCookbook.stylelog', ...