可以使用diff 模块对比文件的差别,然后以版本控制风格输出:
[oracle@pr ~]$ more test.py
import difflib
text1 = """text1:
thi jkn lkml
oop jk fsldkm
"""
text1_lines = text1.splitlines()
text2 ="""text2:
thi jkn lknl
op jk fsldkm
"""
text2_lines = text2.splitlines()
d = difflib.Differ()
diff = d.compare(text1_lines,text2_lines)
print '\n'.join(list(diff))
执行脚本输出如下:
[oracle@pr ~]$ python test.py
- text1:
? ^
+ text2:
? ^
- thi jkn lkml
+ thi jkn lknl
- oop jk fsldkm
? -
+ op jk fsldkm
符号含义说明表:
符号
含义说明
-
包含在第一个序列中,但不包含在第二个序列中
+
包含在第二个序列中,但不包含在第一个序列中
?
标致两个序列行存在增量差异
^
标致出两个序列行存在增量差异的字符
二 、生成美观的html 文档格式
[oracle@pr ~]$ more test1.py
import difflib
text1 = """text1:
thi jkn lkml
oop jk fsldkm
"""
text1_lines = text1.splitlines()
text2 ="""text2:
thi jkn lknl
op jk fsldkm
"""
text2_lines = text2.splitlines()
d = difflib.HtmlDiff()
print d.make_file(text1_lines,text2_lines) 执行脚本: [oracle@pr ~]$ python test1.py > diff.html