У меня есть первый файл, который составляет 2,4 миллиона строк (256 МБ), а второй - 32 тысячи строк (1,5 МБ).
Мне нужно пройти файл два за строкой и напечатать соответствующую строку в файле один.
псевдокод:
open file 1, read
open file 2, read
open results, write
for line2 in file 2:
for line1 in file 1:
if line2 in line1:
write line1 to results
stop inner loop
Мой код:
p = open("file1.txt", "r")
d = open("file2.txt", "r")
o = open("results.txt", "w")
for hash1 in p:
hash1 = hash1.strip('\n')
for data in d:
hash2 = data.split(',')[1].strip('\n')
if hash1 in hash2:
o.write(data)
o.close()
d.close()
p.close()
Я ожидаю 32k результатов.