我认为这一计划将通过线路回声我的控制台输入线:
import os, sys
for line in sys.stdin:
print line
不幸的是它等待EOF(按Ctrl + d),然后它产生输出。我应该如何修改我的程序由一线得到输出线?
Python的2.ch:
for line in iter(sys.stdin.readline, ''):
print line,
Python的x.ch:
for line in iter(sys.stdin.readline, ''):
print(line, end='')
查看iter()
的文件有两个参数,它实际上已经从这样一个文件的例子之一读取。
Python的2.ch:
while True:
sys.stdout.write(sys.stdin.readline())
Python的x.ch:
while True:
print(sys.stdin.readline(), end = "")
当您使用for line in file:
语法,Python的管理缓冲对你来说,这意味着你有过多少行会被读取之前你的循环开始执行的控制。当你调用file.readline()
,它将从文件中读取一行并执行你的循环一次。