如何使标准输出与并行 Python 一起使用?

Posted

技术标签:

【中文标题】如何使标准输出与并行 Python 一起使用?【英文标题】:How to make stdout works with Parallel Python? 【发布时间】:2013-11-12 07:51:35 【问题描述】:

我想知道是否可以让stdout 与Parallel Python 一起使用?没有看到任何打印输出真的很难调试。

例如,给定以下代码sn-ps:

import pp

def printit(s):
    print s

job_server = pp.Server()
for i in xrange(100):
    job_server.submit(printit, (i,))
job_server.wait()

没有任何打印出来。有什么想法吗?

【问题讨论】:

【参考方案1】:

研究使用logging 模块。设置您的“父”程序以侦听网络端口,并让您的“作业”将调试信息(使用logging)发送到该端口。此处给出了如何设置的示例:http://docs.python.org/2/howto/logging-cookbook.html#sending-and-receiving-logging-events-across-a-network

【讨论】:

谢谢。 ***.com/questions/15096090/… 中提到了类似的答案。

以上是关于如何使标准输出与并行 Python 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何读取子进程标准输出的第一个字节,然后在 Python 中丢弃其余字节?

如何使 AzureAD 和自定义 JWT 令牌在 Web API 中并行工作?

如何使用 Python 将标准输入/标准输出通过管道传输到 Perl 脚本

使用 feathersjs 时如何使 vuejs 应用程序与 IE 11 一起工作

将pytest与xdist一起使用时如何打印输出

如何使用 Python 在日志文件中复制/捕获标准输出