summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libshutil.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/lib/libshutil.tex')
-rw-r--r--Doc/lib/libshutil.tex152
1 files changed, 0 insertions, 152 deletions
diff --git a/Doc/lib/libshutil.tex b/Doc/lib/libshutil.tex
deleted file mode 100644
index c5a28a0..0000000
--- a/Doc/lib/libshutil.tex
+++ /dev/null
@@ -1,152 +0,0 @@
-\section{\module{shutil} ---
- High-level file operations}
-
-\declaremodule{standard}{shutil}
-\modulesynopsis{High-level file operations, including copying.}
-\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
-% partly based on the docstrings
-
-
-The \module{shutil} module offers a number of high-level operations on
-files and collections of files. In particular, functions are provided
-which support file copying and removal.
-\index{file!copying}
-\index{copying files}
-
-\strong{Caveat:} On MacOS, the resource fork and other metadata are
-not used. For file copies, this means that resources will be lost and
-file type and creator codes will not be correct.
-
-
-\begin{funcdesc}{copyfile}{src, dst}
- Copy the contents of the file named \var{src} to a file named
- \var{dst}. The destination location must be writable; otherwise,
- an \exception{IOError} exception will be raised.
- If \var{dst} already exists, it will be replaced.
- Special files such as character or block devices
- and pipes cannot be copied with this function. \var{src} and
- \var{dst} are path names given as strings.
-\end{funcdesc}
-
-\begin{funcdesc}{copyfileobj}{fsrc, fdst\optional{, length}}
- Copy the contents of the file-like object \var{fsrc} to the
- file-like object \var{fdst}. The integer \var{length}, if given,
- is the buffer size. In particular, a negative \var{length} value
- means to copy the data without looping over the source data in
- chunks; by default the data is read in chunks to avoid uncontrolled
- memory consumption. Note that if the current file position of the
- \var{fsrc} object is not 0, only the contents from the current file
- position to the end of the file will be copied.
-\end{funcdesc}
-
-\begin{funcdesc}{copymode}{src, dst}
- Copy the permission bits from \var{src} to \var{dst}. The file
- contents, owner, and group are unaffected. \var{src} and \var{dst}
- are path names given as strings.
-\end{funcdesc}
-
-\begin{funcdesc}{copystat}{src, dst}
- Copy the permission bits, last access time, last modification time,
- and flags from \var{src} to \var{dst}. The file contents, owner, and
- group are unaffected. \var{src} and \var{dst} are path names given
- as strings.
-\end{funcdesc}
-
-\begin{funcdesc}{copy}{src, dst}
- Copy the file \var{src} to the file or directory \var{dst}. If
- \var{dst} is a directory, a file with the same basename as \var{src}
- is created (or overwritten) in the directory specified. Permission
- bits are copied. \var{src} and \var{dst} are path names given as
- strings.
-\end{funcdesc}
-
-\begin{funcdesc}{copy2}{src, dst}
- Similar to \function{copy()}, but last access time and last
- modification time are copied as well. This is similar to the
- \UNIX{} command \program{cp} \programopt{-p}.
-\end{funcdesc}
-
-\begin{funcdesc}{copytree}{src, dst\optional{, symlinks}}
- Recursively copy an entire directory tree rooted at \var{src}. The
- destination directory, named by \var{dst}, must not already exist;
- it will be created as well as missing parent directories.
- Permissions and times of directories are copied with \function{copystat()},
- individual files are copied using \function{copy2()}.
- If \var{symlinks} is true, symbolic links in
- the source tree are represented as symbolic links in the new tree;
- if false or omitted, the contents of the linked files are copied to
- the new tree. If exception(s) occur, an \exception{Error} is raised
- with a list of reasons.
-
- The source code for this should be considered an example rather than
- a tool.
-
- \versionchanged[\exception{Error} is raised if any exceptions occur during
- copying, rather than printing a message]{2.3}
-
- \versionchanged[Create intermediate directories needed to create \var{dst},
- rather than raising an error. Copy permissions and times of
- directories using \function{copystat()}]{2.5}
-
-\end{funcdesc}
-
-\begin{funcdesc}{rmtree}{path\optional{, ignore_errors\optional{, onerror}}}
- \index{directory!deleting}
- Delete an entire directory tree (\var{path} must point to a directory).
- If \var{ignore_errors} is true, errors resulting from failed removals
- will be ignored; if false or omitted, such errors are handled by
- calling a handler specified by \var{onerror} or, if that is omitted,
- they raise an exception.
-
- If \var{onerror} is provided, it must be a callable that accepts
- three parameters: \var{function}, \var{path}, and \var{excinfo}.
- The first parameter, \var{function}, is the function which raised
- the exception; it will be \function{os.listdir()}, \function{os.remove()} or
- \function{os.rmdir()}. The second parameter, \var{path}, will be
- the path name passed to \var{function}. The third parameter,
- \var{excinfo}, will be the exception information return by
- \function{sys.exc_info()}. Exceptions raised by \var{onerror} will
- not be caught.
-\end{funcdesc}
-
-\begin{funcdesc}{move}{src, dst}
-Recursively move a file or directory to another location.
-
-If the destination is on our current filesystem, then simply use
-rename. Otherwise, copy src to the dst and then remove src.
-
-\versionadded{2.3}
-\end{funcdesc}
-
-\begin{excdesc}{Error}
-This exception collects exceptions that raised during a mult-file
-operation. For \function{copytree}, the exception argument is a
-list of 3-tuples (\var{srcname}, \var{dstname}, \var{exception}).
-
-\versionadded{2.3}
-\end{excdesc}
-
-\subsection{Example \label{shutil-example}}
-
-This example is the implementation of the \function{copytree()}
-function, described above, with the docstring omitted. It
-demonstrates many of the other functions provided by this module.
-
-\begin{verbatim}
-def copytree(src, dst, symlinks=0):
- names = os.listdir(src)
- os.mkdir(dst)
- for name in names:
- srcname = os.path.join(src, name)
- dstname = os.path.join(dst, name)
- try:
- if symlinks and os.path.islink(srcname):
- linkto = os.readlink(srcname)
- os.symlink(linkto, dstname)
- elif os.path.isdir(srcname):
- copytree(srcname, dstname, symlinks)
- else:
- copy2(srcname, dstname)
- except (IOError, os.error), why:
- print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))
-\end{verbatim}