Hi all

I have two files (File A and File B) with strings of data in them (each string 
on a separate line). Basically, each string in File B will be compared with all 
the strings in File A and the resulting output is to show a list of 
matched/unmatched lines and optionally to write to a third File C

File A: Unique strings
File B: Can have duplicate strings (that is, "string1" may appear more than 
once)

My code currently looks like this:

-----------------
FirstFile = open('C:\FileA.txt', 'r')
SecondFile = open('C:\FileB.txt', 'r')
ThirdFile = open('C:\FileC.txt', 'w')

a = FirstFile.readlines()
b = SecondFile.readlines()

mydiff = difflib.Differ()
results = mydiff(a,b)
print("\n".join(results))

#ThirdFile.writelines(results)

FirstFile.close()
SecondFile.close()
ThirdFile.close()
---------------------

However, it seems that the results do not correctly reflect the 
matched/unmatched lines. As an example, if FileA contains "string1" and FileB 
contains multiple occurrences of "string1", it seems that the first occurrence 
matches correctly but subsequent "string1"s are treated as unmatched strings.

I am thinking perhaps I don't understand Differ() that well and that it is not 
doing what I hoped to do? Is Differ() comparing first line to first line and 
second line to second line etc in contrast to what I wanted to do?

Regards
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to