6.7.1 The dircmp class

dircmp instances are built using this constructor:

class dircmp( a, b[, ignore[, hide]])
Construct a new directory comparison object, to compare the directories a and b. ignore is a list of names to ignore, and defaults to ['RCS', 'CVS', 'tags']. hide is a list of names to hide, and defaults to [os.curdir, os.pardir].

The dircmp class provides the following methods:

report( )
Print (to sys.stdout) a comparison between a and b.

report_partial_closure( )
Print a comparison between a and b and common immediate subdirectories.

report_full_closure( )
Print a comparison between a and b and common subdirectories (recursively).

The 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 __getattr__() hooks, all attributes are computed lazily, so there is no speed penalty if only those attributes which are lightweight to compute are used.

left_list
Files and subdirectories in a, filtered by hide and ignore.

right_list
Files and subdirectories in b, filtered by hide and ignore.

common
Files and subdirectories in both a and b.

left_only
Files and subdirectories only in a.

right_only
Files and subdirectories only in b.

common_dirs
Subdirectories in both a and b.

common_files
Files in both a and b

common_funny
Names in both a and b, such that the type differs between the directories, or names for which os.stat() reports an error.

same_files
Files which are identical in both a and b.

diff_files
Files which are in both a and b, whose contents differ.

funny_files
Files which are in both a and b, but could not be compared.

subdirs
A dictionary mapping names in common_dirs to dircmp objects.
See About this document... for information on suggesting changes.