當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。