diff options
-rw-r--r-- | Lib/cmp.py | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -12,14 +12,14 @@ import os cache = {} -def cmp(f1, f2): # Compare two files, use the cache if possible. +def cmp(f1, f2, shallow=1): # Compare two files, use the cache if possible. # Return 1 for identical files, 0 for different. # Raise exceptions if either file could not be statted, read, etc. s1, s2 = sig(os.stat(f1)), sig(os.stat(f2)) if s1[0] <> 8 or s2[0] <> 8: # Either is a not a plain file -- always report as different return 0 - if s1 == s2: + if shallow and s1 == s2: # type, size & mtime match -- report same return 1 if s1[:2] <> s2[:2]: # Types or sizes differ, don't bother @@ -52,8 +52,8 @@ def sig(st): # Return signature (i.e., type, size, mtime) from raw stat data def do_cmp(f1, f2): # Compare two files, really bufsize = 8*1024 # Could be tuned - fp1 = open(f1, 'r') - fp2 = open(f2, 'r') + fp1 = open(f1, 'rb') + fp2 = open(f2, 'rb') while 1: b1 = fp1.read(bufsize) b2 = fp2.read(bufsize) |