193得票2回答
在Python中实现高性能模糊字符串比较,使用Levenshtein或difflib。

我正在进行临床消息规范化(拼写检查)工作,即检查每个给定单词是否在900,000个医学词典中。我更关心时间复杂度/性能。 我想进行模糊字符串比较,但不确定要使用哪个库。 选项1:import Levenshtein Levenshtein.ratio('hello world', 'hel...

35得票2回答
如何使用SequenceMatcher找到两个字符串之间的相似度?

import difflib a='abcd' b='ab123' seq=difflib.SequenceMatcher(a=a.lower(),b=b.lower()) seq=difflib.SequenceMatcher(a,b) d=seq.ratio()*100 print d ...

35得票6回答
使用Python生成和应用差异

有没有一种“开箱即用”的方法在Python中生成两个文本之间差异的列表,并将此差异应用于一个文件以获取另一个文件? 我想保留文本的修订历史,但如果只有单个编辑行,则不想为每个修订版本保存整个文本。我查看了difflib,但我无法看到如何生成仅包含已编辑行的列表,该列表仍然可用于修改一个文本以获...

26得票2回答
Python difflib比较文件

我正在尝试使用 difflib 来比较两个包含推特消息的文本文件的差异。以下是代码:#!/usr/bin/env python # difflib_test import difflib file1 = open('/home/saad/Code/test/new_tweets', 'r...

24得票6回答
使用Python中的difflib比较两个.txt文件

我正在尝试比较两个文本文件并输出第一个不匹配的字符串,但由于我对Python很陌生,所以遇到了困难。请问有人可以给我提供一种使用这个模块的示例方法吗? 当我尝试像下面这样做时:result = difflib.SequenceMatcher(None, testFile, compariso...

20得票4回答
如何使用Python的difflib模块生成类似Unix sdiff命令的两个文件并排比较的结果?

我正在使用Python 2.6,并希望创建一个简单的GUI,其中包含两个并排的文本窗格,用于比较两个文本文件(file1.txt和file2.txt)。 我正在使用difflib,但我不清楚如何生成类似于Unix命令sdiff的结果。 为了生成并排比较,我需要difflib返回两个变量fi...

18得票2回答
有没有一种替代方案可以取代`difflib.get_close_matches()`,返回的不是字符串列表,而是索引(列表位置)?

我想使用类似于difflib.get_close_matches的东西,但与其获取最相似的字符串不同,我想要获得索引(即在列表中的位置)。 列表的索引更加灵活,因为人们可以将索引与其他数据结构相关联(与匹配的字符串相关)。 例如,不是:>>> words = ['hello'...

14得票3回答
使用difflib.get_close_matches()时忽略大小写

我该如何告诉 difflib.get_close_matches() 忽略大小写?我的字典有一个定义好的格式,其中包含大小写。然而,测试字符串可能是全大写或不区分大小写的,这些应该是等效的。结果需要正确地使用大小写,因此我不能使用修改后的字典。 import difflib names =...

13得票1回答
Python中的"diff -u -B -w"是什么?

使用Python,我想将两个字符串之间的差异作为统一的差异输出(-u),同时可以选择忽略空行(-B)和空格(-w)。 由于字符串是内部生成的,因此我不希望处理将一个或两个字符串写入文件、运行GNU diff、修复输出并最终清理的微妙复杂性。 虽然difflib.unified_diff生成...

12得票6回答
Python - 获取字符串之间的差异

仅获取两个多行字符串之间的差异,有哪种最佳方法? a = 'testing this is working \n testing this is working 1 \n' b = 'testing this is working \n testing this is working 1 \...