Python 2.7 逐行比较两个文件的数据,并在另一个文件中只存储它们之间的差异

Python 2.7 逐行比较两个文件的数据,并在另一个文件中只存储它们之间的差异,python-2.7,file,Python 2.7,File,我有两个文本文件file1和file2。我试图逐行比较这两个文件,并仅打印/写入第三个文件中不匹配/不同的内容 我尝试过difflib.unified_diff,但这会给输出带来很多不必要的信息。正如所述,要求只是打印文件1中不在文件2中的文本。 下面是我尝试的代码 def file_byline_comp(f1,f2,f3): # Read the first line from the files file1= open(f1) file2= open(f2)

我有两个文本文件file1和file2。我试图逐行比较这两个文件,并仅打印/写入第三个文件中不匹配/不同的内容

我尝试过difflib.unified_diff,但这会给输出带来很多不必要的信息。正如所述,要求只是打印文件1中不在文件2中的文本。 下面是我尝试的代码

def file_byline_comp(f1,f2,f3):
    # Read the first line from the files
    file1= open(f1)
    file2= open(f2)
    result_output_file= open(f3,'w')
    file1_line = file1.readline()
    file2_line = file2.readline()

    # Initialise counter for line number
    line_no = 1

    # Loop if either file1 or file2 has not reached EOF
    while file1_line != '' or file2_line != '':

        # Strip the leading whitespaces
        file1_line = file1_line.rstrip()
        file2_line = file2_line.rstrip()

        # Compare the lines from both file
        if file1_line != file2_line:

            if file2_line == '' and file1_line != '':
               # print("Line-%d" % line_no, file1_line)
                print("Line-%d" % line_no)

                print difflib.unified_diff(file1_line, file2_line,fromfile='f1', tofile='f2',lineterm='')
                result_output_file.write("Line-%d " % (line_no))
                result_output_file.write(file1_line)
            # otherwise output the line on file1 
            elif file1_line != '':
                #print("Line-%d" % line_no, file1_line)
                print("Line-%d" % line_no)
                for line in difflib.unified_diff(file1_line, file2_line,fromfile='f1', tofile='f2',lineterm=''):
                    print line

                result_output_file.write("Line-%d " % (line_no))
                result_output_file.write(file1_line)