使用difflib的sequencematcher的微小差异
mini-patch的Python项目详细描述
您有需要修补的文本(或二进制)数据吗?
` >>> a = 'you say yes, i say no' >>> b = 'you say stop, and i say go go go' `
但是你想要比difflib的unified_diff()创建的补丁文件更小?
` >>> diff = '\n'.join(difflib.unified_diff(a, b)) >>> len(diff) 137 `
迷你补丁也使用difflib的SequenceMatcher机器,但是它创建了 微小的、ascii编码的补丁:
` >>> patch = mini_patch.make_mini_patch(a.encode('utf-8'),b.encode('utf-8')) >>> patch '0!d:8,2;i:11,$4$dG9w;i:12,$8$IGFuZA==;r:19,1,$4$Zw==;i:21,$8$IGdvIGdv;' >>> len(patch) 70 `