Python:shell之间的相互通信

时间:2013-07-20 13:59:39

标签: python shell process resume pausing-execution

Python 程序正在 shell 上运行,如何使用另一个Python shell 与之通信?

假设我们已经开始运行一个非常长的模拟,它在shell上运行良好。我们意识到需要捕获当前值,例如,在numpy数组中。

如何使用其他Python shell 暂停模拟,捕获所需的值和 resume

2 个答案:

答案 0 :(得分:2)

这是一个用于处理子进程的包,捕获输出:http://pymotw.com/2/subprocess/

例如,要捕获输出,您可以check_output

import subprocess

output = subprocess.check_output(['ls', '-1'])
print 'Have %d bytes in output' % len(output)
print output

答案 1 :(得分:1)

最好的办法是使用IPython。它在一个或多个内核中运行代码,然后可以通过不同的子进程进行通信。可以共享正在运行的内核中的所有值,从而使您可以完全按照自己的意愿执行操作。像Wakari这样的网站提供免费的IPython Notebook实例,因此您可以进行实验。