# 6.7 `filecmp` -- File Comparisons

The `filecmp` module defines a function to compare files, taking all sort of short-cuts to make it a highly efficient operation.

The `filecmp` module defines the following function:

`cmp` (f1, f2[, shallow[, use_statcache]])
  Compare the files named f1 and f2, returning `1`if they seem equal, `0` otherwise.

  Unless shallow is given and is false, files with identical `os.stat()` signatures are taken to be equal. If use_statcache is given and is true, `statcache.stat()` will be called rather then os.stat().

  Files that were compared using this function will not be compared again unless their `os.stat()` signature changes. Note that using use_statcache true will cause the cache invalidation mechanism to fail -- the stale stat value will be used from `statcache`'s cache.

  Note that no external programs are called from this module giving it portability and efficiency.

Example:

      >>> import filecmp
      >>> filecmp.cmp('libundoc.tex', 'libundoc.tex')
      1
      >>> filecmp.cmp('libundoc.tex', 'lib.tex')
      0