1.先导包
import difflib
import sys
2.定义给一个读取数据的函数,传入需要做对比的文件的绝对路径,然后return返回读取的的数据,一定要用readlines()方法,因为他的结果会把文档每一行的数据包括空格换行等都返回,是一个list类型
def read_file(file):
try:
with open(file,'r',encoding='utf-8') as f:
return f.readlines()
except IOError :
print('未找到该文件')
sys.exit(1)
做对比,并把对比文件输出为html格式,
def compare_files(file1,file2,out_file):
file1_content=read_file(file1)
file2_content=read_file(file2)
dh = difflib.HtmlDiff()
result=dh.make_file(file1_content,file2_content)
with open(out_file,'w') as f:
f.writelines(result)
最后运行,传入需要对比的两个文件的绝对路径file1和file2,并输出到abc.html
compare_files(file1='F:\Python\DatacomTest\HCIP\SSH\sta.txt',
file2='F:\Python\DatacomTest\HCIP\SSH\end.txt',
out_file=r'F:\Python\DatacomTest\HCIP\SSH\abc.html')
过程需要多久的话得看你文件大不大,一般几百行大概几秒钟的事情,然后用浏览器打开abc.html,查看输出情况,这种带有颜色的区域,就是有差异的区域,中间这个字母n可以点击,点击就是跳转到下一个不同的点,到这儿的话整个过程就结束了