Python 从stdin读取,同时不消耗超过所需的内存

Python 从stdin读取,同时不消耗超过所需的内存,python,pipe,stdin,line-by-line,Python,Pipe,Stdin,Line By Line,我正在尝试用python创建一个逐行过滤器。但是,stdin.readlines()在开始处理之前读取所有行,python内存不足(MemoryError) 我怎么能一次只记住一行呢 我拥有的代码类型: for line in sys.stdin.readlines(): if( filter.apply( line ) ): print( line ) (注:我在2.6上) 或者在循环中调用.readline() import sys while 1: lin

我正在尝试用python创建一个逐行过滤器。但是,
stdin.readlines()
在开始处理之前读取所有行,python内存不足(
MemoryError

我怎么能一次只记住一行呢

我拥有的代码类型:

for line in sys.stdin.readlines():
    if( filter.apply( line ) ):
        print( line )
(注:我在2.6上)

或者在循环中调用
.readline()

import sys
while 1:
    line = sys.stdin.readline()
    if not line:
        break
    if (filter.apply(line)):
        print(line)
import sys
while 1:
    line = sys.stdin.readline()
    if not line:
        break
    if (filter.apply(line)):
        print(line)