This module provides functions for operating on directories and trees
of directories.
mkpath(
name[, mode=0777, verbose=0, dry_run=0])
Create a directory and any missing ancestor directories. If the
directory already exists (or if name is the empty string, which
means the current directory, which of course exists), then do
nothing. Raise DistutilsFileError if unable to create some
directory along the way (eg. some sub-path exists, but is a file
rather than a directory). If verbose is true, print a one-line
summary of each mkdir to stdout. Return the list of directories
actually created.
Create all the empty directories under base_dir needed to
put files there. base_dir is just the a name of a directory
which doesn't necessarily exist yet; files is a list of filenames
to be interpreted relative to base_dir. base_dir + the
directory portion of every file in files will be created if it
doesn't already exist. mode, verbose and dry_run flags
are as for mkpath().
Copy an entire directory tree src to a new location dst. Both
src and dst must be directory names. If src is not a
directory, raise DistutilsFileError. If dst does
not exist, it is created with mkpath(). The end result of the
copy is that every file in src is copied to dst, and
directories under src are recursively copied to dst.
Return the list of files that were copied or might have been copied,
using their output name. The return value is unaffected by update
or dry_run: it is simply the list of all files under src,
with the names changed to be under dst.
preserve_mode and preserve_times are the same as for
copy_file in distutils.file_util;
note that they only apply to regular files, not to directories. If
preserve_symlinks is true, symlinks will be copied as symlinks
(on platforms that support them!); otherwise (the default), the
destination of the symlink will be copied. update and
verbose are the same as for
copy_file().
remove_tree(
directory[verbose=0, dry_run=0])
Recursively remove directory and all files and directories underneath
it. Any errors are ignored (apart from being reported to sys.stdout if
verbose is true).
Some of this could be replaced with the shutil module?