Python使用fliecmp如何实现比较文件的操作?fliecmp模块比较文件的方法

对于文件的比较一般有几种 , 比如比较文件的内容 , 比较文件的大小 , 或者直接对比整个项目文件 , 之前我们学习过fliecmp模块 , 今天的这篇文章就详细的fliecmp模块下比较文件的方法实现 , 感兴趣的可以了解一下 , 希望能给大家学习上带来一定的帮助 。

Python使用fliecmp如何实现比较文件的操作?fliecmp模块比较文件的方法


我们在进行文件的比较之前 , 要确保我们有比较的文件 , 为了方便下面的测试 , 所以我们可以先创建一些文件 , 代码如下: 
def mkfile(filename,content):    with open(filename,'w') as f:        f.write(content or filename)    returnmkfile('filecmps/h1.txt','222222111122222')mkfile('filecmps/h2.txt','222222111122222')mkfile('filecmps/h3.txt','333333333')这段代码就是简单的使用mkdir方法创建了3个文件 , 分别是h1,h2,h3 , 其中h1和h2的文件内容是相等的 。
1、使用cmp方法比较文件
使用这种方法比较文件非常的简单 , 主要的格式为:
cmp()(需要进行比较的文件)在fliecmp库提供了cmp()函数 , 这个函数是用来对两个文件中的内容进行比较的 , 判断文件的内容是否匹配 。示例如下:
import filecmpprint(filecmp.cmp('filecmps/h1.txt', 'filecmps/h2.txt', shallow=False))print(filecmp.cmp('filecmps/h1.txt', 'filecmps/h3.txt', shallow=False))print(filecmp.cmp('filecmps/h1.txt', 'filecmps/h2.txt'))print(filecmp.cmp('filecmps/h1.txt', 'filecmps/h3.txt'))运行结果:
TrueFalseTrueFalse2、cmpfiles()(比较一组文件)
上面的函数是对一个的文件进行比较的 , 如果我们要对比的是两个目录下的一组文件 , 这个时候就需要使用到cmpfiles()函数 , 示例如下:
import filecmpprint(filecmp.cmpfiles('filecmps', 'text', common=['11.png', '12.png', 'one.txt'])运行结果:
(['11.png', '12.png'], []['one.txt'])通过运行结果可以看到这里返回了3个列表 , 分别是相同列表 , 不同列表以及错误列表 。相同列表放的是两个目录中相同的文件 , 不同列表是两个目录中不同的文件 。
【Python使用fliecmp如何实现比较文件的操作?fliecmp模块比较文件的方法】有关Python使用fliecmp如何实现比较文件的操作?fliecmp模块比较文件的方法的内容就分享到这里了 , 希望大家通过对这篇文章的学习之后 , 能学到更多的Python知识 。

    猜你喜欢