当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python difflib.ndiff用法及代码示例


用法:

difflib.ndiff(a, b, linejunk=None, charjunk=IS_CHARACTER_JUNK)

比较ab(字符串列表);返回一个 Differ 样式的增量(生成增量线的生成器)。

可选关键字参数 linejunkcharjunk 是过滤函数(或 None ):

linejunk :接受单个字符串参数的函数,如果字符串是垃圾则返回 true,否则返回 false。默认值为 None 。还有一个 module-level 函数 IS_LINE_JUNK() ,它过滤掉没有可见字符的行,除了最多一个磅字符( '#' ) - 但是底层的 SequenceMatcher 类对哪些行如此频繁进行动态分析至于构成噪声,这通常比使用此函数效果更好。

charjunk :一个接受字符(长度为 1 的字符串)的函数,如果字符是垃圾则返回,否则返回 false。默认值为 module-level function IS_CHARACTER_JUNK() ,它会过滤掉空白字符(空格或制表符;在其中包含换行符是个坏主意!)。

Tools/scripts/ndiff.py 是此函数的 命令行 front-end。

>>> diff = ndiff('one\ntwo\nthree\n'.splitlines(keepends=True),
...              'ore\ntree\nemu\n'.splitlines(keepends=True))
>>> print(''.join(diff), end="")
- one
?  ^
+ ore
?  ^
- two
- three
?  -
+ tree
+ emu

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 difflib.ndiff。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。