如何使用diff_match_patch在diff中拥有所有行?

时间:2012-03-04 16:04:36

标签: python diff

我正在使用Google diff-match-patch库。

假设我比较了这两个文件(在行 2 之前加上'Z')

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccccccccccccccccccccccccccccccccccc

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Zbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccccccccccccccccccccccccccccccccccccccc

生成的差异是:

@@ -50,16 +50,17 @@
 aaaaaaa%0A
+Z
 bbbbbbbb

问题是diff不包含所有行。 我想要那样的东西

@@ -50,16 +50,17 @@
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%0A
+Z
 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

如何使用diff_match_patch获取差异中的所有行?

2 个答案:

答案 0 :(得分:1)

这显然是FAQ。将JS示例转录为Python会产生以下输出:

@@ -54,65 +54,66 @@
 aaa%0A
-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%0A
+Zbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%0A
 cccc

哪个仍不理想,但略好一点。

答案 1 :(得分:0)