如何从命令行将EOF发送到Python sys.stdin?CTRL-D不起作用


问题内容

我正在从Unix上的命令行写入我的Python进程。我想发送EOF(或以某种方式刷新stdin缓冲区,以便Python可以读取我的输入。)

如果我按CTRL-C,则会收到KeyboardError。

如果我按CTRL-D,程序将停止。

如何刷新标准输入缓冲区?


问题答案:

如果在sys.stdin中使用“ for l”,它将被缓冲。

您可以使用:

  while 1:
     l = sys.stdin.readline()