使用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 `

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中的else if语句返回语法错误   http如何解析从表单到REST Java/Webservice的post请求   java如何在SpringBoot中为RestTemplate编写JUnit测试   java动态检查实例是否实现接口   java在Android中使用ArrayAdaptor时,数据不会显示   根据前序遍历返回二进制树的java方法   Arquillian测试类中的java注入始终为空   用户界面Java Swing自定义控件   java使用CompletableFutures递归地从同一函数的多个调用构建列表   在Java中将“.00”添加到整数BigDecimal   卡夫卡java未知\u主题\u或\u部分错误间歇性   java为什么我的getString()方法总是返回null?   java renameTo无法重命名文件   java为什么我可以强制转换对象?可以用其他对象来完成吗?   带有回写条件的java多根记录器   关于stackoverflow错误的java帮助?   java Websphere消息队列多线程   Java图形窗口/画布未垂直显示完整的六边形网格   java Sakai未在Tomcat服务器中启动