我对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))
这将为您提供两个列表的区别。