python子进程调用“内部”进程

时间:2010-07-30 16:39:45

标签: python subprocess

出于好奇并试图理解子进程模块:是否可以执行以下操作:

import subprocess

def myfun(arg):
    # do stuff

arg = something;
p = subprocess.Popen(["myfun","arg"])

没有将“myfun”放在自己的文件中?如果你不小心清理子进程,这似乎是一件可怕的事情。

1 个答案:

答案 0 :(得分:4)

您可以传递Popen一个preexec_fn,这是在执行命令之前在子进程中执行的可调用对象。更标准的方法是使用multiprocessing模块,该模块需要Python函数而不是外部命令。