

2つのWord文書を比較して差分を取得し、さらにその差分と同じ単語が元の文書内に存在しないかを調べるプログラムを作りたいと思っています。

例えば、Aという元の文書内の"America"という単語を1箇所だけ"Japan"に変更するとして、変更後の文書を文書Bとします。文書Aと文書Bをdifflibを使って比較すると、"-America
+Japan"という形で差分が表示されると思いますが、この"America"や"Japan"が文書の中に他にも存在しないかを続けて調べるようなコードは可能でしょうか。  
少し調べたところ、difflibの戻り値はジェネレータのため、for文でループさせて得た値は再利用できないということを知りましたが、何か良い方法があればご教示いただきたいと思います。

なお、以下が差分を取得するところまでを書いたものです。

[code]

    import docx
    import re
    import difflib as diff
    
    def get_text(file_name):
        doc = docx.Document(file_name)
        full_text = []
        for para in doc.paragraphs:
            full_text.append(para.text)
        return str(full_text)
    
    
    t1 = get_text("file1.docx")
    t2 = get_text("file2.docx")
    
    words1 = re.findall(r'\b\w+\b',t1)
    words2 = re.findall(r'\b\w+\b',t2)
    
    for i in diff.unified_diff(words1, words2):
        print(i)
    
[/code]


CC BY-SA 4.0
2020-01-23T15:11:06.813
62495
2020-01-23T16:04:44.173
2020-01-23T16:04:44.173
32986
37570
question
python ms-word
difflibで得られた差分を取り出し、リストのように利用する方法