模块difflib

比较并找出两个文本内容的不同

import difflibtext1="""1. Beautiful is better than ugly.2. Explicit is better than implicit.3. Simple is better than complex.4. Complex is better than complicated.""".splitlines(keepends=True)text2="""1. Beautiful is better than ugly.3. Simple is better than complex.4. Complicated is better than complex.5. Flat is better than nested.""".splitlines(keepends=True)#第一种方式:d = difflib.Differ()result = list(d.compare(text1,text2))result = ''.join(result)print(result)"""运行结果以文本行方式显示,不容易理解"""#第二种方式:d = difflib.HtmlDiff()with open('diffirent.html','w') as f: f.write(d.make_file(text1,text2))"""生成一个html文件,用浏览器打开,会显示两个文本内容的不同之处"""

第一种方式:

第二种方式:

直接比较两个文件:

import difflibfile1 = '/etc/passwd'file2 = '/tmp/passwd'with open(file1) as f1,open(file2) as f2: text1 = f1.readlines() text2 = f2.readlines()d = difflib.HtmlDiff()with open('passwd.html','w') as f: f.write(d.make_file(text1,text2))