首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >difflib并删除前面没有+的行python

difflib并删除前面没有+的行python
EN

Stack Overflow用户
提问于 2018-01-16 11:33:55
回答 2查看 196关注 0票数 0

我是python的新手,我正在使用difflib来比较两个文件,我想找出所有不匹配的行。第一个文件只有一行,因此它实际上是在与第二个文件的所有行进行比较。当使用difflib时,结果会在不匹配的行前显示'-‘符号,并且不会在匹配的行前显示任何内容。(我以为它会显示一个'+')。对于前面有“-”的行,我如何才能将这些行写到一个全新的文件中(前面没有“-”)?下面是我用来做difflib的代码片段。任何帮助都是非常感谢的。

f=open('fg_new.txt','r')

f1=open('out.txt','r')

str1=f.read()

str2=f1.read()

str1=str1.split()

str2=str2.split()

d=difflib.Differ()

diff=list(d.compare(str2,str1))

print ('\n'.join(diff))

EN

回答 2

Stack Overflow用户

发布于 2018-01-16 11:45:54

我对difflib一无所知,但如果你想逐行比较两个文件,你可以试试这个。从这里开始。

代码语言:javascript
复制
with open('fg_new.txt') as f, open('out.txt') as f1:
    for line1, line2 in zip(f, f1):
        if line1 != line2:
            #Do whatever you want to do with two lines.
票数 0
EN

Stack Overflow用户

发布于 2018-01-16 11:57:56

你可以使用下面的

set(str1).intersection(set(str2))

这将告诉你这两个列表的不同之处。

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

https://stackoverflow.com/questions/48273710

复制
相关文章

相似问题

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