模块导入
import difflib
文本比较
比较结果含义
'+' 包含在第二个系列行中,不包含第一个
'+' 包含在第一个系列行中,不包含第二个
' ' 两行一致
'?' 存在增量差异
文本比较代码示例
import difflib
text1 = '''hello
world
octopus
'''.splitlines(keepends=False)
text2 = '''hi
octopus
world
octopus
'''.splitlines(keepends=False)
# 文本模式打印不同
d = difflib.Differ()
print(''.join(d.compare(text1, text2)))
d = difflib.HtmlDiff()
# 网页形式输出不同
htmlContent = d.make_file(text1,text2)
print(htmlContent)
文件比较代码示例
import difflib
filename1 = '/home/kiosk/test1'
filename2 = '/home/kiosk/test2'
with open(filename1) as f1,open(filename2) as f2:
content1 = f1.read().splitlines(keepends=True)
content2 = f1.read().splitlines(keepends=True)
f1.close()
f2.close()
d = difflib.HtmlDiff
htmlContent = d.make_file(content1,content2)
with open('passwdDiff', 'w') as f:
f.write(htmlContent)
f.close()