У меня проблема при попытке сравнить два больших файла. То, что я пытаюсь сделать, это взять строку из одного файла, найти все строки другого файла на предмет соответствия, и, если такового нет, записать эту строку в другой файл. Мне удалось воссоздать проблему с помощью простого примера ниже:
file1.txt (содержимое )
apple
banana
pear
peach
lime
file_old.txt (содержимое)
lime
apple
pear
peach
Так как я ищу строки в file1, которых нет в file_old, я ожидаю, что 'banana' будет единственным значением, которое будет показано в выходном файле. Но в выходном файле "* fill_diff *" я показываю:
apple
banana
banana
Что не так с моим кодом, чтобы попытаться произвести различия в файле?
def main():
file_old = open(r'C:\Users\test\Desktop\file_old.txt', 'r+')
file_new = open(r'C:\Users\test\Desktop\file1.txt', 'r+')
file_diff = open(r'C:\Users\test\Desktop\file_diff.txt', 'w')
for each_line in file_new:
for every_line in file_old:
if each_line == every_line:
break
file_diff.write(each_line)
file_old.close()
file_new.close()
file_diff.close()
main()
Спасибо!