如何通过附加"ndiff"中的相似行来获得编辑后的结果?

How to get the edited result by appending similar lines from "ndiff"?

我想从 file2.I 更新文件 1 想追加两者中相似的行 files.I 使用 difflib.ndiff() 得到比较结果。我如何追加单独更改的行 ?

import difflib  

file1='file1.txt'  
file2='file2.txt'

def read():    
    ndiffout=open('diffresult.txt','w+')  
    f1_text=file1.readlines()  
    f2_text=file2.readlines()  
    for line in difflib.ndiff(f1_text,f2_text):  
        print line  
        ndiffout.write(line)

def fetchdiff():  
    ndiffout=open('diffresult.txt','r')  
    lines=ndiffout.readlines()  
    s=''.join([line[0] for line in lines])  
    print s  

read()  
fetchdiff() 

file1.txt

apple  
mango  
orange

file2.txt

aplee  
manngo  
grapes

diffresult.txt

- apple  
?  -  
+ aplee  
?     +  
- mango  
+ manngo  
?   +  
- orange  
+ grapes

预期结果:

apple  
mango  
orange

你需要这样的东西

import difflib

file1 = 'file1.txt'
file2 = 'file2.txt'
df_file = 'diffresult.txt'


def read():
    with open(file1, 'r') as f1, open(file2, 'r') as f2, open(df_file, 'w') as fw:
        f1_text = f1.readlines()
        f2_text = f2.readlines()
        for line in difflib.ndiff(f1_text, f2_text):
            if line.startswith('- '):
                fw.write(line[2:])


def fetchdiff():
    with open(df_file, 'r') as f:
        for line in f.readlines():
            print(line)


if __name__ == '__main__':
    read()
    fetchdiff()