35 lines
999 B
TeX
35 lines
999 B
TeX
|
\section{\module{cmp} ---
|
||
|
File comparisons}
|
||
|
|
||
|
\declaremodule{standard}{cmp}
|
||
|
\sectionauthor{Moshe Zadka}{mzadka@geocities.com}
|
||
|
\modulesynopsis{Compare files very efficiently.}
|
||
|
|
||
|
The \module{cmp} module defines a function to compare files, taking all
|
||
|
sort of short-cuts to make it a highly efficient operation.
|
||
|
|
||
|
The \module{cmp} module defines the following function:
|
||
|
|
||
|
\begin{funcdesc}{cmp}{f1, f2}
|
||
|
Compare two files given as names. The following tricks are used to
|
||
|
optimize the comparisons:
|
||
|
|
||
|
\begin{itemize}
|
||
|
\item Files with identical type, size and mtime are assumed equal.
|
||
|
\item Files with different type or size are never equal.
|
||
|
\item The module only compares files it already compared if their
|
||
|
signature (type, size and mtime) changed.
|
||
|
\item No external programs are called.
|
||
|
\end{itemize}
|
||
|
\end{funcdesc}
|
||
|
|
||
|
Example:
|
||
|
|
||
|
\begin{verbatim}
|
||
|
>>> import cmp
|
||
|
>>> cmp.cmp('libundoc.tex', 'libundoc.tex')
|
||
|
1
|
||
|
>>> cmp.cmp('libundoc.tex', 'lib.tex')
|
||
|
0
|
||
|
\end{verbatim}
|