shutil
index
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py
Module Docs

Utility functions for copying and archiving files and directory trees.
 
XXX The functions here don't copy the resource fork or other metadata on Mac.

 
Modules
       
collections
errno
fnmatch
os
stat
sys

 
Classes
       
exceptions.EnvironmentError(exceptions.StandardError)
Error
ExecError
SpecialFileError

 
class Error(exceptions.EnvironmentError)
    
Method resolution order:
Error
exceptions.EnvironmentError
exceptions.StandardError
exceptions.Exception
exceptions.BaseException
__builtin__.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from exceptions.EnvironmentError:
__init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature
__reduce__(...)
__str__(...)
x.__str__() <==> str(x)

Data descriptors inherited from exceptions.EnvironmentError:
errno
exception errno
filename
exception filename
strerror
exception strerror

Data and other attributes inherited from exceptions.EnvironmentError:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from exceptions.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__unicode__(...)

Data descriptors inherited from exceptions.BaseException:
__dict__
args
message

 
class ExecError(exceptions.EnvironmentError)
    Raised when a command could not be executed
 
 
Method resolution order:
ExecError
exceptions.EnvironmentError
exceptions.StandardError
exceptions.Exception
exceptions.BaseException
__builtin__.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from exceptions.EnvironmentError:
__init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature
__reduce__(...)
__str__(...)
x.__str__() <==> str(x)

Data descriptors inherited from exceptions.EnvironmentError:
errno
exception errno
filename
exception filename
strerror
exception strerror

Data and other attributes inherited from exceptions.EnvironmentError:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from exceptions.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__unicode__(...)

Data descriptors inherited from exceptions.BaseException:
__dict__
args
message

 
class SpecialFileError(exceptions.EnvironmentError)
    Raised when trying to do a kind of operation (e.g. copying) which is
not supported on a special file (e.g. a named pipe)
 
 
Method resolution order:
SpecialFileError
exceptions.EnvironmentError
exceptions.StandardError
exceptions.Exception
exceptions.BaseException
__builtin__.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from exceptions.EnvironmentError:
__init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature
__reduce__(...)
__str__(...)
x.__str__() <==> str(x)

Data descriptors inherited from exceptions.EnvironmentError:
errno
exception errno
filename
exception filename
strerror
exception strerror

Data and other attributes inherited from exceptions.EnvironmentError:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from exceptions.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__unicode__(...)

Data descriptors inherited from exceptions.BaseException:
__dict__
args
message

 
Functions
       
copy(src, dst)
Copy data and mode bits ("cp src dst").
 
The destination may be a directory.
copy2(src, dst)
Copy data and all stat info ("cp -p src dst").
 
The destination may be a directory.
copyfile(src, dst)
Copy data from src to dst
copyfileobj(fsrc, fdst, length=16384)
copy data from file-like object fsrc to file-like object fdst
copymode(src, dst)
Copy mode bits from src to dst
copystat(src, dst)
Copy all stat info (mode bits, atime, mtime, flags) from src to dst
copytree(src, dst, symlinks=False, ignore=None)
Recursively copy a directory tree using copy2().
 
The destination directory must not already exist.
If exception(s) occur, an Error is raised with a list of reasons.
 
If the optional symlinks flag is true, symbolic links in the
source tree result in symbolic links in the destination tree; if
it is false, the contents of the files pointed to by symbolic
links are copied.
 
The optional ignore argument is a callable. If given, it
is called with the `src` parameter, which is the directory
being visited by copytree(), and `names` which is the list of
`src` contents, as returned by os.listdir():
 
    callable(src, names) -> ignored_names
 
Since copytree() is called recursively, the callable will be
called once for each directory that is copied. It returns a
list of names relative to the `src` directory that should
not be copied.
 
XXX Consider this example code rather than the ultimate tool.
get_archive_formats()
Returns a list of supported formats for archiving and unarchiving.
 
Each element of the returned sequence is a tuple (name, description)
ignore_patterns(*patterns)
Function that can be used as copytree() ignore parameter.
 
Patterns is a sequence of glob-style patterns
that are used to exclude files
make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=0, owner=None, group=None, logger=None)
Create an archive file (eg. zip or tar).
 
'base_name' is the name of the file to create, minus any format-specific
extension; 'format' is the archive format: one of "zip", "tar", "bztar"
or "gztar".
 
'root_dir' is a directory that will be the root directory of the
archive; ie. we typically chdir into 'root_dir' before creating the
archive.  'base_dir' is the directory where we start archiving from;
ie. 'base_dir' will be the common prefix of all files and
directories in the archive.  'root_dir' and 'base_dir' both default
to the current directory.  Returns the name of the archive file.
 
'owner' and 'group' are used when creating a tar archive. By default,
uses the current owner and group.
move(src, dst)
Recursively move a file or directory to another location. This is
similar to the Unix "mv" command.
 
If the destination is a directory or a symlink to a directory, the source
is moved inside the directory. The destination path must not already
exist.
 
If the destination already exists but is not a directory, it may be
overwritten depending on os.rename() semantics.
 
If the destination is on our current filesystem, then rename() is used.
Otherwise, src is copied to the destination and then removed.
A lot more could be done here...  A look at a mv.c shows a lot of
the issues this implementation glosses over.
register_archive_format(name, function, extra_args=None, description='')
Registers an archive format.
 
name is the name of the format. function is the callable that will be
used to create archives. If provided, extra_args is a sequence of
(name, value) tuples that will be passed as arguments to the callable.
description can be provided to describe the format, and will be returned
by the get_archive_formats() function.
rmtree(path, ignore_errors=False, onerror=None)
Recursively delete a directory tree.
 
If ignore_errors is set, errors are ignored; otherwise, if onerror
is set, it is called to handle the error with arguments (func,
path, exc_info) where func is os.listdir, os.remove, or os.rmdir;
path is the argument to that function that caused it to fail; and
exc_info is a tuple returned by sys.exc_info().  If ignore_errors
is false and onerror is None, an exception is raised.
unregister_archive_format(name)

 
Data
        __all__ = ['copyfileobj', 'copyfile', 'copymode', 'copystat', 'copy', 'copy2', 'copytree', 'move', 'rmtree', 'Error', 'SpecialFileError', 'ExecError', 'make_archive', 'get_archive_formats', 'register_archive_format', 'unregister_archive_format', 'ignore_patterns']