python 两个txt文件内容对比,difflib的使用

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可以点击,点击就是跳转到下一个不同的点,到这儿的话整个过程就结束了

python 两个txt文件内容对比,difflib的使用_第1张图片

你可能感兴趣的:(HCIP之路,Python,python,开发语言)