difflib 模块包含一些用来计算和处理序列之间差异的工具。它对于比较文本尤其有用,其中包含的函数可以使用多种常用差异格式生成报告。

实现了三个类:SequenceMatcher 任意类型序列的比较 (可以比较字符串)

Differ 对字符串进行比较

HtmlDiff 将比较结果输出为html格式#!/usr/bin/env python

#

#-*- coding: utf-8 -*-

import difflib

import sys

try:

textfile1=sys.argv[1]

textfile2=sys.argv[2]

except Exception as e:

print("Error:"+str(e))

print("Usage:diff_Simple3.py filename1 filename2")

sys.exit()

def readfile(filename):

try:

fileHandle=open(filename,‘rb‘)

text=fileHandle.read().splitlines()

fileHandle.close()

return text

except IOError as error:

print("Read file Error:"+str(error))

sys.exit()

if textfile1=="" or textfile2=="":

print("Usage:diff_Simple3")

sys.exit()

text1_lines=readfile(textfile1)

text2_lines=readfile(textfile2)

d = difflib.HtmlDiff()

print(d.make_file(text1_lines,text2_lines))

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐