diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
commit | 458120dd40db6b4df55a4e96b650e16798ef06a0 (patch) | |
tree | 8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libfilecmp.tex | |
parent | 3a742c699f6806c1145aea5149bf15de15a0afd7 (diff) |
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libfilecmp.tex')
-rw-r--r-- | sys/src/cmd/python/Doc/lib/libfilecmp.tex | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libfilecmp.tex b/sys/src/cmd/python/Doc/lib/libfilecmp.tex new file mode 100644 index 000000000..42b4b8c42 --- /dev/null +++ b/sys/src/cmd/python/Doc/lib/libfilecmp.tex @@ -0,0 +1,142 @@ +\section{\module{filecmp} --- + File and Directory Comparisons} + +\declaremodule{standard}{filecmp} +\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il} +\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 functions: + +\begin{funcdesc}{cmp}{f1, f2\optional{, shallow}} +Compare the files named \var{f1} and \var{f2}, returning \code{True} if +they seem equal, \code{False} otherwise. + +Unless \var{shallow} is given and is false, files with identical +\function{os.stat()} signatures are taken to be equal. + +Files that were compared using this function will not be compared again +unless their \function{os.stat()} signature changes. + +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}} +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{common} parameter is a list of file names found in both directories. +The \var{shallow} parameter has the same +meaning and default value as for \function{filecmp.cmp()}. +\end{funcdesc} + +Example: + +\begin{verbatim} +>>> import filecmp +>>> filecmp.cmp('libundoc.tex', 'libundoc.tex') +True +>>> filecmp.cmp('libundoc.tex', 'lib.tex') +False +\end{verbatim} + + +\subsection{The \protect\class{dircmp} class \label{dircmp-objects}} + +\class{dircmp} instances are built using this constructor: + +\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 hide, and defaults to \code{[os.curdir, os.pardir]}. +\end{classdesc} + +The \class{dircmp} class provides the following methods: + +\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 +subdirectories. +\end{methoddesc} + +\begin{methoddesc}[dircmp]{report_full_closure}{} +Print a comparison between \var{a} and \var{b} and common +subdirectories (recursively). +\end{methoddesc} + + +The \class{dircmp} offers a number of interesting attributes that may +be used to get various bits of information about the directory trees +being compared. + +Note that via \method{__getattr__()} hooks, all attributes are +computed lazily, so there is no speed penalty if only those +attributes which are lightweight to compute are used. + +\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} |