Python: Прочтите огромное количество строк из стандартного ввода

Я пытаюсь прочитать огромное количество строк из стандартного ввода с помощью python.

more hugefile.txt | python readstdin.py

Проблема в том, что программа зависает, как только я прочитал всего одну строку.

print sys.stdin.read(8)
exit(1)

Это печатает первые 8 байтов, но затем я ожидаю, что он завершится, но этого не происходит. Я думаю, что на самом деле это не просто чтение первых байтов, а попытка прочитать весь файл в памяти.

Та же проблема с sys.stdin.readline ()

Что я действительно хочу сделать, так это прочитать все строки, но с буфером, чтобы у меня не закончилась память.

Я использую Python 2.6

7
задан Martin 27 October 2011 в 23:47
поделиться