【问题标题】:Merge file and diffs into a new file in Python在 Python 中将文件和差异合并到一个新文件中
【发布时间】:2016-02-17 08:14:54
【问题描述】:

我正在尝试合并一个文件并对其进行了一些更改。 例如,如果我有文件:

This is Line 1
This is Line 2
This is Line 3

我已将其更改为:

This is Line 1
This is Line 3
This one is another line

我会从difflib.unified_diff得到这个输出:

--- test.txt
+++ test2.txt
@@ -29,1 +29,1 @@
-2+3@@ -36,0 +36,4 @@
+o+n+e+ @@ -39,1 +43,9 @@
-L+a+n+o+t+h+e+r+ +l@@ -43,2 +55,0 @@
- -3

我希望能够只获取此输出和原始文件,并将它们合并为获取第二个文件。

有什么方法可以实现吗?

【问题讨论】:

  • FWIW,difflib 假定它的输入将是“行”的可迭代。当给定一个原始字符串时,它会在字符级别而不是行级别进行差异。这导致 +- 比通常预期的要多得多。

标签: python file merge compare difflib


【解决方案1】:

最后,我找到了一个名为“diff_match_patch”的库,其中包含我一直在寻找的内容。 在这里查看更多信息: https://code.google.com/archive/p/google-diff-match-patch/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    相关资源
    最近更新 更多