У меня есть два текстовых файла, первый файл - 40 ГБ (data2), второй около 50 МБ (data1) Я хочу проверить, нет ли в строке 1 строки в файле file2, поэтому я написал python (ниже) для этого процесса с этим сценарием занимает слишком много времени, так как он берет строку из файла1, затем проверяет весь файл2 по строкам.Строки совпадения в двух текстовых файлах
for line in open("data1.txt","r"):
for line2 in open("data2.txt","r"):
if line==line2:
print(line)
есть ли способ/код, чтобы сделать это быстро? скрипт работает с 5 дней и до сих пор не закончил. есть ли способ показать номер% или текущего номера в процессе?
у вас есть большие файлы, так что потребуется время, но другой путь вы можете сделать это, прочитать данные 'data1' (50MB) и хранить в списке' file.readlines() 'вернет вам список , Чтение данных из 'data2' и проверка его существует в' list'. Таким образом, вы можете не каждый раз считывать 'data1'. Только один раз он будет читать. – Nilesh
@ Padraic Cunningham im not sure, если я понимаю вас, однако, я уже изменил данные1 данными2, чтобы проверить большой файл (взять строку), затем прочитать маленький файл по строкам. – xhxx