对于标准输入,python cat(echo)等效

mno*_*tka 3 python stdin echo

我以为这个程序将逐行回显我的控制台输入:

import os, sys

for line in sys.stdin:
    print line
Run Code Online (Sandbox Code Playgroud)

不幸的是,它等待EOF(Ctrl+ D)然后产生输出.我应该如何修改我的程序以逐行获取输出?

And*_*ark 9

Python 2.x:

for line in iter(sys.stdin.readline, ''):
    print line,
Run Code Online (Sandbox Code Playgroud)

Python 3.x:

for line in iter(sys.stdin.readline, ''):
    print(line, end='')
Run Code Online (Sandbox Code Playgroud)

请参阅iter()带有两个参数的文档,它实际上是从这样的文件读取作为示例之一.