问题标签 [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.
python - 比较2个不同文件python中的字符串
我需要您的帮助,因为经过长时间的研究,我没有找到适合我问题的答案。
我有 2 个包含一些信息的文件。其中一些信息是相似的,而另一些则不同。第一个文件已排序,第二个文件未排序。
我尝试使用 difflib,但显然它在我的情况下不起作用。
例子
文件 1:
文件 2:
我需要查找customerID是否相同
这是我的代码:
编辑:文件是我自己格式化的txt。
python - Difflib SequenceMatcher - 如何确定多个字符的相似性“相等”?
我编写了一个在两个 HTML 源代码之间进行区分的 Python 模块。我在比较文本时遇到了一点问题——difflib.SequenceMatcher
即使只有一个字符相似,该函数也会将文本确定为“相等”。因此,像“123456”和“abc1de”这样的生成值将归类为插入的“abc”,等于 1=1 并在 de 中替换了 23456。
总之,我如何确定只有当相等长度超过 3 个字符时才会设置“相等”分类?
python - 如何区分两个 HTML 代码?
我需要在两个 HTML 页面源上运行差异机制来踢出所有生成的数据(如用户会话等)。我想知道是否有一个 python 模块可以做到这一点,并返回包含差异的元素(所以我将在其他来源的其余代码中踢他)
python - Differ.compare() 的结果在使用一次后消失
我试图通过使用python中定义compare(a,b)
的类方法的结果来描述两个字符串之间的差异。我以以下方式使用。Differ
difflib
compare(a,b)
我的问题是当我在将它传递给我创建result
的函数之前打印它时,结果是错误的。describe_diff
但是当我注释掉打印的for循环时,result
输出就可以了。我试过result
一个接一个地打印 using 两个 for 循环,但它只打印一次。compare(s1,s2)
但是,当我在两个循环之间(或在打印循环和我的函数调用之间)插入in 时,describe_diff
一切都很好。result
那么要多次使用的值,我必须compare
每次都执行该方法吗?一定有办法解决这个问题。请帮忙。
python - Python difflib:未检测到更改
输出:
如您所见,它没有检测到第一行(无?
行)的更改,但在第二行中检测到了更改
任何人都知道为什么 difflib 认为它是删除/添加,而不是更改?
python - 比较 HTML 和 difflib
我只希望获得此页面的可靠内容差异(结构更改很少,因此可以忽略)。更具体地说,我需要进行的唯一更改是添加了一个新的指令 ID:
为了了解difflib会产生什么,我首先对两个相同的 HTML 内容进行比较,希望什么也得不到:
由于difflib模仿 UNIXdiff
实用程序,我希望diffed
不包含任何内容(或给出一些序列相同的指示,但如果我'\n'.join
diffed
,我会得到类似于 HTM L 的东西,(尽管它不会在浏览器中呈现)
事实上,如果我采用最简单的情况来区分两个字符:
diffed
= d.compare('a', 'a')
diffed.next()
产生以下内容:
所以我要么期待difflib提供一些它不能或不会提供的东西(我应该改变策略),还是我在滥用它?区分 HTML 的可行替代方案是什么?
python - 从 difflib 获得更细粒度的差异(或一种对差异进行后处理以实现相同目的的方法)
下载此页面并对其进行小幅编辑,将本段中的前65更改为68:
然后我用 BeauifulSoup 解析这两个源并用difflib区分它们。
打印更改给出:
所以它打印了整个段落,尽管变化很小。我想它通过整段而不是句子来显示差异是一件好事,但是我们能以某种方式使输出更细化吗?就目前而言,如果我只想突出显示更改的文本,我将不得不对这两个几乎相同的字符串进行一些额外的增量比较。
python - 在 Python 中将文件和差异合并到一个新文件中
我正在尝试合并一个文件并对其进行一些更改。例如,如果我有文件:
我已将其更改为:
我将从以下位置获取此输出difflib.unified_diff
:
我希望能够仅获取此输出和原始文件,并将它们合并到获取第二个文件中。
有什么办法可以做到这一点?