1

我使用 python 的标准输入从其他进程接收消息

但想更改快速接收消息的标准输入缓冲区大小

我知道子进程可以在打开子进程时设置标准输入缓冲区

但我的流程之一是发送消息的 ac 流程

另一个是接收消息的python进程

如何更改 python 中的标准输入缓冲区大小?

我的主机是一台linux机器..

4

1 回答 1

0

一个类似问题的答案

您可以使用 python 的 -u 标志从标准输入/标准输出中完全删除缓冲:

-u     : unbuffered binary stdout and stderr (also PYTHONUNBUFFERED=x)
         see man page for details on internal buffering relating to '-u'

并且手册页澄清了:

  -u     Force stdin, stdout and stderr to  be  totally  unbuffered.   On
         systems  where  it matters, also put stdin, stdout and stderr in
         binary mode.  Note that there is internal  buffering  in  xread-
         lines(),  readlines()  and  file-object  iterators ("for line in
         sys.stdin") which is not influenced by  this  option.   To  work
         around  this, you will want to use "sys.stdin.readline()" inside
         a "while 1:" loop.

除此之外,它没有(很好或广泛)支持。

于 2015-10-16T12:20:06.573 回答