运行环境:
Python3.6,Windwos10 RS1,Pycharm
参考书籍—《Python自动化运维--技术与最佳实践》刘天斯著
模块介绍
Python2.3以上的版本默认自带了filecmp模块,无需额外安装。我们可以用这个模块来检查原式与目标文件的一致性,filecmp可以实现文件、目录、遍历子目录的差异对比功能。
模块使用
filecmp提供了三个操作方法。
cmp:单文件对比cmpfiles:多文件对比dircmp:目录对比
单文件对比
使用的是filecmp.cmp(f1,f2[,shallow])。其中f1、f2为文件,当两个文件相同时返回True,不同返回False,(shallow默认为True,其意思是只根据os.stat()方法返回的文件基本信息进行对比[最后访问时间、修改时间、状态改变时间等,而不考虑文件内容])。当shallow为False时,则os.stat()与文件内容同时进行校验。
现在我在我代码的当前路径下有三个分别名为File1.txt、File2.txt、File3.txt的文件,File1.txt和File3.txt两个文件是单独创建的文本文件,而File2.txt是File1.txt的副本文件,即直接由复制文件File1.txt并改名File2.txt得到。所以按理来说File1.txt、File2.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
>

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

被折叠的 条评论
为什么被折叠?



