循环访问sys.stdin

时间:2017-02-26 14:30:46

标签: python loops for-loop

我知道我不能在sys.stdin上枚举(),但我必须做这样的事情,而不是在内存中读取整个输入:

for i, line in enumerate(sys.stdin):
    line = line.split()
    if sys.stdin[i][0]=='something':
        foo(sys.stdin[i][0])
    else:
        foo(sys.stdin[i+1][0])

那么,如何在不将所有东西都读入内存的情况下迭代sys.stdin

1 个答案:

答案 0 :(得分:0)

您可以使用@Echo off for /f "tokens=1-5 delims=-." %%a in ( 'dir /b D:\NewFolder\*-*-*-*.*' ) do ( IF [%1]==[%%d] ( echo same date %1 -- %%a-%%b-%%c-%%d.%%e ) else ( echo different date %1 -- %%a-%%b-%%c-%%d.%%e ) ) ,一次为readline()获取一行。如果它在生成器内部,则可以构造一个简单的sys.stdin循环:

for