Python从Stdin读取和输出无缓冲

您可以使用C或任何其他语言编写程序,这些程序连续从stdin中获取输入行,并在每行之后输出结果.就像是:

while (true) {
   readline
   break if eof

   print process(line)
}

我似乎无法在Python中获得这种行为,因为它会缓冲输出(即在循环退出(?)之前不会进行打印.因此,程序完成时将打印所有内容.我如何获得与C程序(endl刷新)相同的行为.

解决方法:

您是否有显示问题的示例?

例如(Python 3):

def process(line):
    return len(line)
try:
    while True:
        line = input()
        print(process(line))
except EOFError:
    pass

在每行之后打印每行的长度.

上一篇:PHP-如何从循环内删除此查询?


下一篇:mysql计算两个日期的差(天、小时、分、秒)