我是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))
发布于 2018-01-16 11:45:54
我对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.发布于 2018-01-16 11:57:56
你可以使用下面的
set(str1).intersection(set(str2))
这将告诉你这两个列表的不同之处。
https://stackoverflow.com/questions/48273710
复制相似问题