Python自动化运维笔记(五):使用filecmp模块实现文件以及文件目录差异对比

本文介绍了Python的filecmp模块,用于自动化运维中的文件和目录差异对比。详细讲解了如何进行单文件、多文件以及目录的对比,并通过示例代码展示其用法,帮助理解文件一致性检查和目录比较的详细结果。
摘要由CSDN通过智能技术生成

运行环境:Python3.6Windwos10 RS1Pycharm
参考书籍—《Python自动化运维--技术与最佳实践》刘天斯著


模块介绍

Python2.3以上的版本默认自带了filecmp模块,无需额外安装。我们可以用这个模块来检查原式与目标文件的一致性,filecmp可以实现文件、目录、遍历子目录的差异对比功能。


模块使用

filecmp提供了三个操作方法。

  • cmp:单文件对比
  • cmpfiles:多文件对比
  • dircmp:目录对比

单文件对比

使用的是filecmp.cmp(f1,f2[,shallow])。其中f1f2为文件,当两个文件相同时返回True,不同返回False,(shallow默认为True,其意思是只根据os.stat()方法返回的文件基本信息进行对比[最后访问时间、修改时间、状态改变时间等,而不考虑文件内容])。当shallowFalse时,则os.stat()与文件内容同时进行校验。
现在我在我代码的当前路径下有三个分别名为File1.txtFile2.txtFile3.txt的文件,File1.txtFile3.txt两个文件是单独创建的文本文件,而File2.txtFile1.txt的副本文件,即直接由复制文件File1.txt并改名File2.txt得到。所以按理来说File1.txtFile2.txt两个文件完全相同、而与File3.txt文件不同。
下面使用代码进行验证:

Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32
>>> import filecmp
>>> filecmp.cmp('./File1.txt', 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值