因实验室的网站上需要对同一个或不同用户的不同版本的文本进行比较,用到了google diff这个工具。
google diff 网址:https://code.google.com/p/google-diff-match-patch/
源码包才300k+,下载下来,发现其支持很多语言。
笔者使用了python2。
一般API的使用可以看test文件,依葫芦画瓢。
在工程的__init__.py中加入
from .diff_match_patch import diff_match_patch, patch_obj
在要用到google diff的py文件中加入
import diff_match_patch as dmp_module
#建议加上下面两行,效果好很多
self.dmp.diff_cleanupSemantic(cmpstr)
self.dmp.diff_cleanupEfficiency(cmpstr)
ret = self.dmp.diff_prettyHtml(cmpstr)
google diff 网址:https://code.google.com/p/google-diff-match-patch/
源码包才300k+,下载下来,发现其支持很多语言。
笔者使用了python2。
一般API的使用可以看test文件,依葫芦画瓢。
在工程的__init__.py中加入
from .diff_match_patch import diff_match_patch, patch_obj
在要用到google diff的py文件中加入
import diff_match_patch as dmp_module
在函数块里
self.dmp = dmp_module.diff_match_patch()
#然后就可以使用self.dmp调用各个函数了
cmpstr = self.dmp.diff_main("txt", "test")#建议加上下面两行,效果好很多
self.dmp.diff_cleanupSemantic(cmpstr)
self.dmp.diff_cleanupEfficiency(cmpstr)
ret = self.dmp.diff_prettyHtml(cmpstr)
笔者对比了一下,英文和英文,英文和中文效果都还不错,中文和中文有时候会出现一点问题。
“但”和“上”有什么问题?
后来证明还是中文编码的问题,修正一下是可以比较中文,并不会出现乱码。