默认情况下,
sys.stdin.read()和
sys.stdin.read(n)阻止呼叫。我假设100%CPU的消耗实际上归因于将数据流式传输到脚本中或此处未引用的其他行为。
在查看的帮助文档时
sys.stdin.read,我注意到了这一点:
读(…)
read([size])->读取最大大小的字节,以字符串形式返回。
如果size参数为负或省略,请读取直到达到EOF。 请注意,在非阻塞模式下 ,即使没有给出size参数,返回的数据也可能少于请求的数据。
(强调我的。)
这意味着阻止模式是默认行为,这与我的经验一致。这也使我找到了关于SO的类似问题。Voila:在子进程上
进行非阻塞读取.Python中的PIPE
祝您适应愉快!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)