Python 从stdin读取,同时不消耗超过所需的内存
我正在尝试用python创建一个逐行过滤器。但是,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
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)