根据文档,您可以提供linejunk函数来忽略certian行。但是,我无法使其正常工作。这是一些示例代码供讨论:
from re import search
from difflib import ndiff
t1 = 'one 1\ntwo 2\nthree 3'
t2 = 'one 1\ntwo 29\nthree 3'
diff = ndiff(t1.splitlines(), t2.splitlines(), lambda x: search('2', x))
Run Code Online (Sandbox Code Playgroud)
我的意图是忽略第二行,而diff将是一个没有任何区别的生成器。
谢谢您的帮助。
我最近遇到了同样的问题。
这是我发现的:
cf. http://bugs.python.org/issue14332
* junk参数的主要目的是加快匹配以发现差异,而不是掩盖差异。
cf http://hg.python.org/cpython/rev/0a69b1e8b7fe/
该补丁为difflib文档中的“垃圾”和“忽略”概念提供了更好的解释
这些垃圾过滤功能可加快匹配速度以发现差异,并且不会导致任何不同的行或字符被忽略。
| 归档时间: |
|
| 查看次数: |
3046 次 |
| 最近记录: |