问题标签 [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 - windows的python和cygwin的python生成的文件的区别
我有一个用python生成文件的脚本,在某些情况下,脚本是用windows中的python执行的,在其他情况下是用cygwin的python执行的
文件的文本是相同的,但如果我使用 difflib,
文件不同。
而且,如果我使用 md5 得到不同的哈希值。
如果我将文件与kdiff3
我得到
如何比较两个文件之间的文本差异?一个是用 windows 的 python 生成的,另一个是用 windows 的 python 生成的。
python - 从 10 行字符串中查找相等的序列
我正在尝试从包含字符串行的文本文件中找到最长的公共序列。输出也应该是带有对齐行的文本文件,例如:
查找序列 - efghijk
输出文件:
我正在考虑使用 difflib,将行保存到列表,然后比较 list[0] 和 list[1],从这两个字符串中找到最长的序列,然后 difflib(None, sequence, list[2]) 等。
但是我在编码时遇到了一些麻烦,我绝对不知道如何处理输出文件。
谢谢你的建议,扬
python - difflib 的速度助手
我正在使用 difflib ( SequenceMatcher
) 来完成这项任务:对于 3000 个有错字的书名,在数据库中找到最接近的匹配项,其中有 128500 个(据称)没有错误的书名。代码很简单:
它有效,但速度很慢。大约 100 小时后,它在 3000 个列表中的比例约为 40%。问题当然是:128500 个标题的 3000 次迭代 = 3.855 亿次调用SequenceMatcher
.
我正在寻找优化这一点的方法。在这篇文章中,OP 建立了一个索引,对其进行了查询,并且 SequenceMatched 了该查询的结果。我认为这是一个很好的方法,但如何实施呢?
该脚本只是一次性的,没有花哨的应用程序或任何东西。我的小时预算有限。
编辑Whoosh 支持模糊术语查询。SQLite 有LIKE
.
我应该研究其他可能性吗?
python - 来自两个“文件”的行号的 Python 统一差异
我试图找出一种方法来创建统一的差异,其中行号仅显示N
上下文行。我一直无法做到这一点difflib.unified_diff
。我需要显示两个文件中的更改。
我能来的最接近的是diff
在命令行上使用,如下所示:
/usr/bin/diff
--unchanged-line-format=' %.2dn %L'
--old-line-format="-%.2dn %L"
--new-line-format="+%.2dn %L"
file1.py
file2.py
但我只想显示N
上下文行,/usr/bin/diff
似乎不支持自定义行格式的上下文(例如,-U2 与 --line-format " conflicting output style options
" 不兼容)。
下面是我想要完成的示例(与上述差异相同的输出,但仅显示围绕更改的 1 行上下文):
+01: def renamed_function()
-01: def original_function():
02:
+03: """ Neat stuff here """
04:
21:
+22: # Here's a new comment
23:
85: # Output the value of foo()
+86: print "Foo is %s"%(foo())
-86: print foo()
87:
python - 使用 WordNet 比较两个短语?
我正在尝试比较两个短语的语义。在 Python 中,我使用 nltk 和 difflib。首先,我从短语中删除停用词,然后使用 WordNetLemmatizer 和 PorterStemmer 对单词进行规范化,然后将其余部分与 difflib 的 SequenceMatcher 进行比较。我仍然认为有比使用 difflib 更好的方法。有什么建议或提议吗?在短语之间的比较中是否有任何使用 Wordnet 的库?我正在做的步骤是否正确?
python - TypeError: 'float' 类型的对象没有 len() , difflib
我有一个函数使用字典中键的值。该值是一个列表,我遍历该列表以将其与我的示例字符串进行比较。
distance
是一个函数,它在输入 4 个浮点值 l1、l2、l3、l4 时返回一个浮点值。这不是问题。问题出在difflib.SequenceMatcher(None, str1, item).ratio()
.
这是错误:
Str1 是一个字符串,我将它与item
. 请注意,这item
是一个字符串列表。根据文档,difflib 参数需要是可散列的并且item
没有唯一的散列值。我怎么可能避免这种情况?
python - 方法 set_seq1 和 set_seq2 的工作,difflib python
我检查了 difflib 的文档,我对difflib.SequenceMatcher.ratio()
实际工作方式感到困惑。考虑一下:
让s = 0.9411764705882353
我想知道它是如何计算的。通过实际查看一个字符串与其他字符串的偏差来比较 2 个字符串。对于 2 个字符串a和b文档说:
差异被计算为“我们需要对'a'做什么才能将其更改为'b'?”
还有类似的东西:
对于 b 中的 x,b2j[x] 是 x 出现的索引列表(进入 b);垃圾元素不出现
请解释上面的s示例。
python - 使用difflib在python中搜索单词字典的有效数据结构?
我正在尝试编写一个拼写检查器,我想使用 difflib 来实现它。基本上,我有一个技术术语列表,我添加到标准 unix 字典 ( /usr/share/dict/words
) 中,并将其存储在一个名为 dictionaryFile.py 的文件中。
我有另一个名为 stringSim.py 的脚本,我在其中导入字典并针对它测试示例字符串。这是基本代码:
它返回以下内容:
我想知道是否有更好的策略可以用来查找类似的匹配项(假设单词拼写错误)。这是针对 Web 应用程序的,因此我正在尝试优化这部分代码,使其更加简洁。有没有更好的方法可以构造 wordList 变量(现在它只是一个单词列表)?
谢谢。
python - 序列匹配器比率()
我打算用来SequenceMatcher(...).ratio()
检查两个字符串是否相似。但是,我的快速测试返回了我没想到的结果(这对我的目的不起作用):
具有相同错误数的较长字符串应该具有相等或更低的比率,对吗?
python - Python 数据框
我有一个数据框(df)并尝试将数据附加到特定行
Index Fruit Rank
0 banana 1
1 apple 2
2 mango 3
3 Melon 4
目标是将等级 1 的水果与每个等级进行比较,然后附加该值。我正在使用 difflib.SequenceMatcher 进行比较。现在我可以附加到 df 但我最终将相同的值附加到每一行。我正在为循环和追加而苦苦挣扎。任何指针将不胜感激。
这是我的一些代码:
结果是这样的:
Index Fruit Rank similarity_score
0 banana 1 0.3
1 apple 2 0.3
2 mango 3 0.3
3 Melon 4 0.3
期望的结果是:
Index Fruit Rank similarity_score
0 banana 1 n/a
1 apple 2 0.4
2 mango 3 0.5
3 Melon 4 0.6
谢谢。