difflib
中是否有任何比较方法或选项只能返回具有差异的行?
到目前为止,我已经尝试过Differ, HtmlDiffer, difflib.unified_diff
,即使它们没有区别,它们也总是从比较数据中返回所有行。
最佳答案
unified_diff
不会返回所有行,但会在上下文的两边显示一些行。如果不需要任何上下文,可以使用n=0
。
import difflib
a = ['unchanged', 'unchanged', 'unchanged', 'a', 'unchanged', 'unchanged']
b = ['unchanged', 'unchanged', 'unchanged', 'b', 'unchanged', 'unchanged']
[print(x) for x in difflib.unified_diff(a, b, n=0, lineterm='')]
给
---
+++
@@ -4 +4 @@
-a
+b
如果需要,可以从中轻松地仅提取最后两行。
关于python - 如何仅从libdiff比较结果中过滤增量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59875662/