| |
- copy(src, dst, overwrite=False)
- Copy data and mode bits ("cp src dst").
The destination may be a directory.
- copy2(src, dst, overwrite=False, symlinks=False)
- 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, overwrite=False)
- 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.
- move(src, dst, overwrite=False)
- 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.
- 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.
|