difflib 并删除行,即使它们前面没有 +



我对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))

我不知道

difflib,但要逐行比较两个文件,您可以尝试这样做。从这里开始。

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.
您可以使用

以下内容

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

这将为您提供两个列表的区别。

相关内容

  • 没有找到相关文章

最新更新