python简单实现目录对比

来源:互联网 发布:跆拳道教学软件 编辑:程序博客网 时间:2024/06/05 14:14
[root@localhost python]# cat dircmptest.py #!/usr/bin/pythonimport filecmppath1="/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/ka:a.txt  b.txt  info.py  k  kali  k.py  linuxa/k:c.txtb:a.txt  bp  c.txt  info.py  k  kalib/k:k.py  linux[root@localhost python]# cat a/a.txt b/a.txt linuxok[root@localhost python]# cat a/kali b/kali aa[root@localhost python]#