能否用Python根据统一差异和原始文本恢复文本?
我想做的是计算两段文本(原始文本和新文本)之间的差异,保存原始文本和这个差异,然后希望能用这些信息恢复出新文本。这样我就可以用最少的空间存储同一段文本的不同版本。
使用Python的difflib库,可以通过ndiff和restore来实现这个功能;不过ndiff生成的差异包含了新文本的所有内容,这和我的想法不太一致。
unified_diff提供了一种更紧凑的差异表示,只显示不同的部分,这样更符合我的需求,但我找不到用这个差异和原始文本来恢复新文本的方法。
我看过一些讨论,比如这个,里面提到仅用unified_diff生成的差异可能可以恢复任意一段文本,但我不太明白为什么不能用原始文本来恢复。