用Python确定文档差异

4 投票
3 回答
955 浏览
提问于 2025-04-15 17:37

我一直在使用Python的difflib库来找出两个文档之间的不同之处。使用Differ().compare()这个方法可以做到这一点,但速度非常慢——对于大型HTML文档来说,速度至少慢了100倍,相比于diff命令。

我该如何高效地找出两个文档的不同之处呢?(理想情况下,我想要的是不同之处的位置,而不是实际的文本,这正是SequenceMatcher().get_opcodes()返回的内容。)

3 个回答

1

一个看起来不太好而且有点傻的解决办法:如果diff运行得更快,就用它;通过Python里的subprocess来调用,然后解析命令的输出,获取你需要的信息。这样做的速度可能没有直接用diff快,但可能比用difflib快。

2

谷歌有一个差异库,可以用来处理普通文本,并且提供了Python的接口。这应该也适用于你想处理的HTML文档。我不太确定这个库是否适合你特别关注差异位置的需求,但值得一试。

3
当然可以!请提供你想要翻译的StackOverflow内容,我会帮你把它变得简单易懂。

撰写回答