Search code examples
pythondifflib

Comparing two .txt files using difflib in Python


I am trying to compare two text files and output the first string in the comparison file that does not match but am having difficulty since I am very new to python. Can anybody please give me a sample way to use this module.

When I try something like:

result = difflib.SequenceMatcher(None, testFile, comparisonFile)

I get an error saying object of type 'file' has no len.


Solution

  • For starters, you need to pass strings to difflib.SequenceMatcher, not files:

    # Like so
    difflib.SequenceMatcher(None, str1, str2)
    
    # Or just read the files in
    difflib.SequenceMatcher(None, file1.read(), file2.read())
    

    That'll fix your error.

    To get the first non-matching string, see the difflib documentation.