mirror of
https://github.com/python/cpython.git
synced 2025-07-24 19:54:21 +00:00
36 lines
1.1 KiB
TeX
36 lines
1.1 KiB
TeX
\section{\module{cmpcache} ---
|
|
Efficient file comparisons}
|
|
|
|
\declaremodule{standard}{cmpcache}
|
|
\sectionauthor{Moshe Zadka}{mzadka@geocities.com}
|
|
\modulesynopsis{Compare files very efficiently.}
|
|
|
|
The \module{cmpcache} module defines a function to compare files, taking all
|
|
sort of short-cuts to make it a highly efficient operation.
|
|
|
|
The \module{cmpcache} 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 Signatures (type, size and mtime) are computed via
|
|
\refmodule{statcache}
|
|
\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 changed.
|
|
\item No external programs are called.
|
|
\end{itemize}
|
|
\end{funcdesc}
|
|
|
|
Example:
|
|
|
|
\begin{verbatim}
|
|
>>> import cmpcache
|
|
>>> cmpcache.cmp('libundoc.tex', 'libundoc.tex')
|
|
1
|
|
>>> cmpcache.cmp('libundoc.tex', 'lib.tex')
|
|
0
|
|
\end{verbatim}
|