前言
对于文件的比较一般有几种,比如比较文件的内容,比较文件的大小,或者直接对比整个项目文件。特别是在项目的更新迭代中,可以通过该库来比较当前版本与之前版本有哪些文件不同。
所以,本篇将详细讲解Python的文件比较库:filecmp。
生成示例文件
在比较文件之前,我们首先需要有用于比较的文件。所以,为了后面的测试,我们先来创建一些文件。示例如下:
def mkfile(filename,content):
with open(filename,'w') as f:
f.write(content or filename)
return
mkfile('filecmps/one.txt','1212121212')
mkfile('filecmps/two.txt','1212121212')
mkfile('filecmps/three.txt','333333333')
这里,我们先创建3个文件,其中2个文件的内容相等。
cmp()(比较文件)
fliecmp库提供了cmp()函数用于比较文件系统上的两个文件。示例如下:
import filecmp
print(filecmp.cmp('filecmps/one.txt', 'filecmps/two.txt', shallow=False))
print(filecmp.cmp('filecmps/one.txt', 'filecmps/three.txt'