Python 3 自动化运维之目录差异比较filecmp模块

#目录差异对比filecmp
import filecmp

#定义左目录
leftDir = "/home/abc/dir1"
#定义右目录
rightDir = "/home/abc/dir2"

#目录比较 忽略test.py
dirObj = filecmp.dircmp(leftDir, rightDir, ['test.py'])
#输出对比结果数据报表
dirObj.report() #比较当前指定目录中的内容
dirObj.report_partial_closure()  #比较当前目录及第一子目录的内容
dirObj.report_full_closure()  #递归比较所有目录内容
#打印输出
#左目录中文件和目录列表
print('left_list:'+str(dirObj.left_list))
#右目录中的文件和目录
print('right_list:'+str(dirObj.right_list))
#两边共同存在的文件或目录
print('common:'+str(dirObj.common))
#只在左目录中的文件或目录
print('left_only:'+str(dirObj.left_only))
#只在右目录中的文件或目录
print('right_only:'+str(dirObj.right_only))
#两边都存在的子目录
print('common_dirs:'+str(dirObj.common_dirs))
#两边都存在的子文件
print('common_files:'+str(dirObj.common_files))
#两边都存在的子目录(不同目录类型或os.stat()记录的错误)
print('common_funny:'+str(dirObj.common_funny))
#匹配相同的文件
print('same_file:'+str(dirObj.same_files))
#不匹配的文件
print('diff_files:'+str(dirObj.diff_files))
#两边目录中存在 但无法比较的文件
print('funny_files:'+str(dirObj.funny_files))

filecmp模块提供了三种操作方法:

1.cmp  单文件对比

filecmp.cmp('a.txt', 'b.txt')

2.cmpfiles  多文件对比

filecmp.cmpfiles('/home/abc/dir1', '/home/abc/dir2', ['f1', 'f2', 'f3', 'f4', 'f5'])

3.dircmp  目录对比

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值