Python 如何从标准输入读取数据并写入标准输出,而只在输入刷新时刷新?

Python 如何从标准输入读取数据并写入标准输出,而只在输入刷新时刷新?,python,pipelining,Python,Pipelining,当我编写一些python脚本时,它过滤从另一个程序(通过管道传输到脚本中)输出的内容,我只想刷新输出,而输入程序也刷新了它的输出。但是,脚本并不总是读取整行内容。输出应该在脚本进行之后直接发生,然后在输入程序进行时应该休眠如何有效地实现此行为,使管道中的下一个程序可以在管道中的脚本之前直接处理程序的进度输出?无需某种形式的跟踪/调试,管道一端的进程无法知道另一端的进程何时调用任何类型的flush()例程。它只能告诉“有新数据要读取”或“此时没有可用数据”,或“管道已消失”。然而,我过去经常检查它

当我编写一些python脚本时,它过滤从另一个程序(通过管道传输到脚本中)输出的内容,我只想刷新输出,而输入程序也刷新了它的输出。但是,脚本并不总是读取整行内容。输出应该在脚本进行之后直接发生,然后在输入程序进行时应该休眠如何有效地实现此行为,使管道中的下一个程序可以在管道中的脚本之前直接处理程序的进度输出?

无需某种形式的跟踪/调试,管道一端的进程无法知道另一端的进程何时调用任何类型的
flush()
例程。它只能告诉“有新数据要读取”或“此时没有可用数据”,或“管道已消失”。然而,我过去经常检查它是否不是由
kbhit()
(或类似的实现)刷新的,但有时它会返回false,因此在不由输入刷新的情况下会发生刷新。没有某种形式的跟踪/调试,管道一端的进程无法知道另一端的进程何时调用任何类型的
flush()
例程。它只能告诉“有新数据要读取”或“此时没有可用的数据”,或“管道已离开”。然而,我过去经常检查它是否不是由
kbhit()
(或类似的一些实现)刷新的,但它有时返回false,因此在输入未刷新的情况下发生刷新。