Я пытался сравнить два больших текстовых файла по строкам (по 10 ГБ каждый), не загружая целые файлы в память. Я использовал следующий код, как указано в других threads:Python Чтение больших текстовых файлов
with open(in_file1,"r") as f1, open(in_file2,"r") as f2:
for (line1, line2) in zip(f1, f2):
compare(line1, line2)
Но, кажется, что питон не удается прочитать файл построчно. Я наблюдал использование памяти при запуске кода> 20G. Я также пробовал использовать:
import fileinput
for (line1, line2) in zip(fileinput.input([in_file1]),fileinput.input([in_file2])):
compare(line1, line2)
Это также пытается загрузить все в память. Я использую Python 2.7.4 на Centos 5.9, и я не сохранял ни одной строки в моем коде.
Что случилось с моим кодом? Как мне изменить его, чтобы не загружать все в ОЗУ? Функция