问题标签 [difflib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1785 浏览

python - 比较2个不同文件python中的字符串

我需要您的帮助,因为经过长时间的研究,我没有找到适合我问题的答案。

我有 2 个包含一些信息的文件。其中一些信息是相似的,而另一些则不同。第一个文件已排序,第二个文件未排序。

我尝试使用 difflib,但显然它在我的情况下不起作用。

例子

文件 1:

文件 2:

我需要查找customerID是否相同

这是我的代码:

编辑:文件是我自己格式化的txt。

0 投票
0 回答
128 浏览

python - Difflib SequenceMatcher - 如何确定多个字符的相似性“相等”?

我编写了一个在两个 HTML 源代码之间进行区分的 Python 模块。我在比较文本时遇到了一点问题——difflib.SequenceMatcher即使只有一个字符相似,该函数也会将文本确定为“相等”。因此,像“123456”和“abc1de”这样的生成值将归类为插入的“abc”,等于 1=1 并在 de 中替换了 23456。

总之,我如何确定只有当相等长度超过 3 个字符时才会设置“相等”分类?

0 投票
1 回答
306 浏览

python - 如何区分两个 HTML 代码?

我需要在两个 HTML 页面源上运行差异机制来踢出所有生成的数据(如用户会话等)。我想知道是否有一个 python 模块可以做到这一点,并返回包含差异的元素(所以我将在其他来源的其余代码中踢他)

0 投票
1 回答
794 浏览

python - Differ.compare() 的结果在使用一次后消失

我试图通过使用python中定义compare(a,b)的类方法的结果来描述两个字符串之间的差异。我以以下方式使用。Differdifflibcompare(a,b)

我的问题是当我在将它传递给我创建result的函数之前打印它时,结果是错误的。describe_diff但是当我注释掉打印的for循环时,result输出就可以了。我试过result一个接一个地打印 using 两个 for 循环,但它只打印一次。compare(s1,s2)但是,当我在两个循环之间(或在打印循环和我的函数调用之间)插入in 时,describe_diff一切都很好。result那么要多次使用的值,我必须compare每次都执行该方法吗?一定有办法解决这个问题。请帮忙。

0 投票
1 回答
227 浏览

python - Python difflib:未检测到更改

输出:

如您所见,它没有检测到第一行(无?行)的更改,但在第二行中检测到了更改

任何人都知道为什么 difflib 认为它是删除/添加,而不是更改?

0 投票
1 回答
711 浏览

python-3.x - 无法在 python 3 中写入包含 unicode 文本的 HtmlDiff 输出

0 投票
1 回答
1525 浏览

python - difflib.HTMLDiff.make_file() 的输出未在浏览器中呈现

使用PyMOTW给出的两个文本,difflib.HtmlDiff.make_file()用于生成 HTML 输出。然而,当在浏览器中保存和打开时,原始 HTML 会显示而不是呈现为预期的表格。

输出make_file()格式是否错误?见这里

蟒蛇 2.7

0 投票
1 回答
3795 浏览

python - 比较 HTML 和 difflib

我只希望获得此页面的可靠内容差异(结构更改很少,因此可以忽略)。更具体地说,我需要进行的唯一更改是添加了一个新的指令 ID:

在此处输入图像描述

为了了解difflib会产生什么,我首先对两个相同的 HTML 内容进行比较,希望什么也得不到:

由于difflib模仿 UNIXdiff实用程序,我希望diffed不包含任何内容(或给出一些序列相同的指示,但如果我'\n'.join diffed,我会得到类似于 HTM L 的东西,(尽管它不会在浏览器中呈现)

事实上,如果我采用最简单的情况来区分两个字符:

diffed= d.compare('a', 'a')

diffed.next()产生以下内容:

所以我要么期待difflib提供一些它不能或不会提供的东西(我应该改变策略),还是我在滥用它?区分 HTML 的可行替代方案是什么?

0 投票
1 回答
361 浏览

python - 从 difflib 获得更细粒度的差异(或一种对差异进行后处理以实现相同目的的方法)

下载页面并对其进行小幅编辑,将本段中的前65更改为68

在此处输入图像描述

然后我用 BeauifulSoup 解析这两个源并用difflib区分它们。

打印更改给出:

所以它打印了整个段落,尽管变化很小。我想它通过整段而不是句子来显示差异是一件好事,但是我们能以某种方式使输出更细化吗?就目前而言,如果我只想突出显示更改的文本,我将不得不对这两个几乎相同的字符串进行一些额外的增量比较。

0 投票
1 回答
789 浏览

python - 在 Python 中将文件和差异合并到一个新文件中

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

我已将其更改为:

我将从以下位置获取此输出difflib.unified_diff

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

有什么办法可以做到这一点?