首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中使用difflib比较两个.txt文件

在Python中使用difflib比较两个.txt文件
EN

Stack Overflow用户
提问于 2009-06-10 18:51:21
回答 5查看 82.1K关注 0票数 24

我正在尝试比较两个文本文件,并输出比较文件中不匹配的第一个字符串,但由于我是python的新手,因此遇到了困难。谁能给我一个使用这个模块的示例方法。

当我尝试这样的事情时:

代码语言:javascript
复制
result = difflib.SequenceMatcher(None, testFile, comparisonFile)

我收到一个错误,说'file‘类型的对象没有len。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-06-10 19:06:00

对于初学者,您需要将字符串传递给difflib.SequenceMatcher,而不是文件:

代码语言:javascript
复制
# Like so
difflib.SequenceMatcher(None, str1, str2)

# Or just read the files in
difflib.SequenceMatcher(None, file1.read(), file2.read())

这无论如何都会修复你的错误。为了获得第一个不匹配的字符串,我将把您带到奇妙的difflib documentation.世界

票数 36
EN

Stack Overflow用户

发布于 2014-02-15 06:18:55

下面是一个使用Python difflib比较两个文件内容的快速示例。

代码语言:javascript
复制
import difflib

file1 = "myFile1.txt"
file2 = "myFile2.txt"

diff = difflib.ndiff(open(file1).readlines(),open(file2).readlines())
print ''.join(diff),
票数 9
EN

Stack Overflow用户

发布于 2009-06-10 19:03:48

您确定两个文件都存在吗?

我测试了一下,得到了一个完美的结果。

为了获得结果,我使用如下命令:

代码语言:javascript
复制
import difflib

diff=difflib.ndiff(open(testFile).readlines(), open(comparisonFile).readlines())

try:
    while 1:
        print diff.next(),
except:
    pass

每行的第一个字符表示它们是否不同:例如:'+‘表示添加了以下行,依此类推。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/977491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档