python简单实现目录对比

[root@localhost python]# cat dircmptest.py 
#!/usr/bin/python
import filecmp
path1="/root/python/a"
path2="/root/python/b"
test=filecmp.dircmp(path1,path2)                                          #比较目录,path1是左,path2是右
#test.report()                                #比较当前目录中指定的内容
#test.report_partial_closure()                            #比较当前目录及第一级子目录内容 
#test.report_full_closure()                                               #递归比较目录内的所有内容
print 'all files and dirs in left_list(path1): '+str(test.left_list)      #显示左列表内容
print "common files"+str(test.common_files)               #显示两个目录共同的文件(文件名相同)
print "diff files"+str(test.diff_files)                   #显示两个目录内文件名相同但是内容不同的文件
print "common dirs"+str(test.common_dirs)                 #显示两个目录内子目录相同的目录名
print "common dirs and files"+str(test.common)                #显示两个目录名称相同的文件或者目录
print "only in left list,no in right list: "+str(test.left_only)      #显示只有左目录特有的文件
print "same_files is: "+str(test.same_files)                  #显示两个目录内文件名相同且内容相同的文件
[root@localhost python]# ./dircmptest.py 
all files and dirs in left_list(path1): ['a.txt', 'b.txt', 'info.py', 'k', 'k.py', 'kali', 'linux']
common files['kali', 'a.txt', 'info.py']
diff files['a.txt']
common dirs['k']
common dirs and files['kali', 'a.txt', 'info.py', 'k']
only in left list,no in right list: ['b.txt', 'k.py', 'linux']
same_files is: ['kali', 'info.py']
[root@localhost python]# ls a a/k b b/k
a:
a.txt  b.txt  info.py  k  kali  k.py  linux

a/k:
c.txt

b:
a.txt  bp  c.txt  info.py  k  kali

b/k:
k.py  linux
[root@localhost python]# cat a/a.txt b/a.txt 
linux
ok
[root@localhost python]# cat a/kali b/kali 
a
a
[root@localhost python]# 
原文地址:https://www.cnblogs.com/biaopei/p/7730529.html