Я новичок в python и наклоняюсь как можно быстрее. Я пытаюсь сравнить два больших текстовых файла, которые не отсортированы, поэтому мне нужно сравнить два пути .i.e. A-B и B-A. Размер файла очень большой, поэтому я пытаюсь использовать хэш-метод.Сравнение больших текстовых файлов Python с использованием haslib
Актуальное требование: 1. Сравните и разделительный текстовый файл .i.e. A-B и B-A. Сравните, как ВПР в Excel 2. запись несоответствующих строк в текстовый файл
Проблема: Я могу получить хэш-значения для каждой строки, но у меня есть проблема в сравнении двух файлов и записи фактических несоответствующие строк (не хэш-значение) в текстовый файл.
Код:
from hashlib import sha1
import csv
File1 = 'text1.txt'
File2 = 'text2.txt'
output = 'output.txt'
with open(File1, 'r') as ifile:
for line in ifile:
line = line.rstrip()
digest = sha1(line).hexdigest()
with open(File2, 'r') as ifile1:
for line1 in ifile1:
line1 = line1.rstrip()
digest1 = sha1(line1).hexdigest()
writer = csv.writer(open(output, "w"))
for i in digest:
for xl in digest1:
if i[0] == xl[0]:
i.append(xl[1:])
writer.writerow(i)
digest.seek(0)