栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python difflib:内联突出显示差异?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python difflib:内联突出显示差异?

对于您的简单示例:

import difflibdef show_diff(seqm):    """Unify operations between two compared stringsseqm is a difflib.SequenceMatcher instance whose a & b are strings"""    output= []    for oppre, a0, a1, b0, b1 in seqm.get_oppres():        if oppre == 'equal': output.append(seqm.a[a0:a1])        elif oppre == 'insert': output.append("<ins>" + seqm.b[b0:b1] + "</ins>")        elif oppre == 'delete': output.append("<del>" + seqm.a[a0:a1] + "</del>")        elif oppre == 'replace': raise NotImplementedError, "what to do with 'replace' oppre?"        else: raise RuntimeError, "unexpected oppre"    return ''.join(output)>>> sm= difflib.SequenceMatcher(None, "lorem ipsum dolor sit amet", "lorem foo ipsum dolor amet")>>> show_diff(sm)'lorem<ins> foo</ins> ipsum dolor <del>sit </del>amet'

这适用于字符串。您应该决定如何处理“替换”操作码。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号