[Python-checkins] CVS: python/dist/src/Doc/lib libfilecmp.tex,1.1,1.2
Fred L. Drake
python-dev@python.org
Mon, 3 Jul 2000 01:24:52 -0700
Update of /cvsroot/python/python/dist/src/Doc/lib
In directory slayer.i.sourceforge.net:/tmp/cvs-serv9125/lib
Modified Files:
libfilecmp.tex
Log Message:
Moshe Zadka <moshez@math.huji.ac.il>:
Substantial updates to reflect Moshe's Gordon's enhancements to the
module.
Additional changes from Fred to reflect his changes to the module as well.
Index: libfilecmp.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libfilecmp.tex,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** libfilecmp.tex 1999/10/29 17:23:15 1.1
--- libfilecmp.tex 2000/07/03 08:24:49 1.2
***************
*** 1,4 ****
\section{\module{filecmp} ---
! File Comparisons}
\declaremodule{standard}{filecmp}
--- 1,4 ----
\section{\module{filecmp} ---
! File and Directory Comparisons}
\declaremodule{standard}{filecmp}
***************
*** 6,22 ****
\modulesynopsis{Compare files efficiently.}
- The \module{filecmp} module defines a function to compare files, taking all
- sort of short-cuts to make it a highly efficient operation.
The \module{filecmp} module defines the following function:
\begin{funcdesc}{cmp}{f1, f2\optional{, shallow\optional{, use_statcache}}}
! Compare the files named \var{f1} and \var{f2}, returning \code{1}
! if they seem equal, \code{0} otherwise.
Unless \var{shallow} is given and is false, files with identical
! \function{os.stat()} signatures are taken to be equal. If
\var{use_statcache} is given and is true,
! \function{statcache.stat()} will be called rather then \var{os.stat()}.
Files that were compared using this function will not be compared again
--- 6,24 ----
\modulesynopsis{Compare files efficiently.}
+ The \module{filecmp} module defines functions to compare files and directories,
+ with various optional time/correctness trade-offs.
+
The \module{filecmp} module defines the following function:
\begin{funcdesc}{cmp}{f1, f2\optional{, shallow\optional{, use_statcache}}}
! Compare the files named \var{f1} and \var{f2}, returning \code{1} if
! they seem equal, \code{0} otherwise.
Unless \var{shallow} is given and is false, files with identical
! \function{os.stat()} signatures are taken to be equal. If
\var{use_statcache} is given and is true,
! \function{statcache.stat()} will be called rather then
! \function{os.stat()}; the default is to use \function{os.stat()}.
Files that were compared using this function will not be compared again
***************
*** 26,33 ****
cache.
! Note that no external programs are called from this module giving it
portability and efficiency.
\end{funcdesc}
Example:
--- 28,49 ----
cache.
! Note that no external programs are called from this function, giving it
portability and efficiency.
\end{funcdesc}
+ \begin{funcdesc}{cmpfiles}{dir1, dir2, common\optional{,
+ shallow\optional{, use_statcache}}}
+ Returns three lists of file names: \var{match}, \var{mismatch},
+ \var{errors}. \var{match} contains the list of files match in both
+ directories, \var{mismatch} includes the names of those that don't,
+ and \var{errros} lists the names of files which could not be
+ compared. Files may be listed in \var{errors} because the user may
+ lack permission to read them or many other reasons, but always that
+ the comparison could not be done for some reason.
+
+ The \var{shallow} and \var{use_statcache} parameters have the same
+ meanings and default values as for \function{filecmp.cmp()}.
+ \end{funcdesc}
+
Example:
***************
*** 39,40 ****
--- 55,138 ----
0
\end{verbatim}
+
+
+ \subsection{The \protect\class{dircmp} class \label{dircmp-objects}}
+
+ \begin{classdesc}{dircmp}{a, b\optional{, ignore\optional{, hide}}}
+ Construct a new directory comparison object, to compare the
+ directories \var{a} and \var{b}. \var{ignore} is a list of names to
+ ignore, and defaults to \code{['RCS', 'CVS', 'tags']}. \var{hide} is a
+ list of names to hid, and defaults to \code{[os.curdir, os.pardir]}.
+ \end{classdesc}
+
+ \begin{methoddesc}[dircmp]{report}{}
+ Print (to \code{sys.stdout}) a comparison between \var{a} and \var{b}.
+ \end{methoddesc}
+
+ \begin{methoddesc}[dircmp]{report_partial_closure}{}
+ Print a comparison between \var{a} and \var{b} and common immediate
+ subdirctories.
+ \end{methoddesc}
+
+ \begin{methoddesc}[dircmp]{report_full_closure}{}
+ Print a comparison between \var{a} and \var{b} and common
+ subdirctories (recursively).
+ \end{methoddesc}
+
+ \begin{memberdesc}[dircmp]{left_list}
+ Files and subdirectories in \var{a}, filtered by \var{hide} and
+ \var{ignore}.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{right_list}
+ Files and subdirectories in \var{b}, filtered by \var{hide} and
+ \var{ignore}.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{common}
+ Files and subdirectories in both \var{a} and \var{b}.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{left_only}
+ Files and subdirectories only in \var{a}.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{right_only}
+ Files and subdirectories only in \var{b}.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{common_dirs}
+ Subdirectories in both \var{a} and \var{b}.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{common_files}
+ Files in both \var{a} and \var{b}
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{common_funny}
+ Names in both \var{a} and \var{b}, such that the type differs between
+ the directories, or names for which \function{os.stat()} reports an
+ error.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{same_files}
+ Files which are identical in both \var{a} and \var{b}.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{diff_files}
+ Files which are in both \var{a} and \var{b}, whose contents differ.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{funny_files}
+ Files which are in both \var{a} and \var{b}, but could not be
+ compared.
+ \end{memberdesc}
+
+ \begin{memberdesc}[dircmp]{subdirs}
+ A dictionary mapping names in \member{common_dirs} to
+ \class{dircmp} objects.
+ \end{memberdesc}
+
+ Note that via \method{__getattr__()} hooks, all attributes are
+ computed lazilly, so there is no speed penalty if only those
+ attributes which are lightweight to compute are used.