参考:http://blog.csdn.net/imzoer/article/details/8675078
文件比较:filecmp模块:filecmp
'''Created on 2014-6-6@author: jyp@module: pro1.filecmp_test}'''import timeimport osfrom site import setBEGINLIBPATHdef getPrettyTime(state): return time.strftime('%y-%m-%d %H:%M:%S', time.localtime(state.st_mtime))def compareDir(A_path, B_path): A_files = [] B_files = [] for root, dirs, files in os.walk(A_path): for file in files: A_files.append(root + "\\" + file) for root, dirs, files in os.walk(B_path): for file in files: B_files.append(root + "\\" + file) a_files = [] b_files = [] a_path_len = len(A_path) b_path_len = len(B_path) for file in A_files: a_files.append(file[a_path_len:]) for file in B_files: b_files.append(file[b_path_len:]) setA = set(a_files) setB = set(b_files) commonfiles = setA & setB print "#=================================" print "common in '", A_path, "' and '", B_path, "'" print "#=================================" print '\t\t\ta:\t\t\t\t\t\tb:' for f in sorted(commonfiles): print f + "\t\t" + getPrettyTime(os.stat(A_path + "\\" + f)) + "\t\t" + getPrettyTime(os.stat(B_path + "\\" + f)) onlyA = setA - setB print "#=================================" print "only in A '", A_path print "#=================================" print '\t\t\ta:\t\t\t\t\t\tb:' for f in sorted(onlyA): print f + "\t\t" + getPrettyTime(os.stat(A_path + "\\" + f)) onlyB = setB - setA print "#=================================" print "only in B'" , B_path print "#=================================" print '\t\t\ta:\t\t\t\t\t\tb:' for f in sorted(onlyB): print f + "\t\t" + getPrettyTime(os.stat(B_path + "\\" + f))if __name__ == '__main__': compareDir('f:/srcDir', 'f:/destDir')
转载于:https://www.cnblogs.com/yongpan666/p/3773712.html
