2014-09-04 155 views
0

我试图从我的主脚本运行“外部”脚本。从主脚本独立运行外部python脚本

我试图subprocess.Popen(['python', 'external_script.py'])

但外部脚本我想要运行包含循环,所以它会阻止主脚本启动。

有没有办法独立运行外部脚本,以便主脚本正常启动? (像在独立的控制台中运行每一个)。

我正在使用基于Linux的机器。

谢谢

+0

你会得到任何错误? – Vor 2014-09-04 16:12:52

+1

'threading'模块怎么样? – Kevin 2014-09-04 16:18:51

+1

subprocess.Popen会在子进程终止之前执行* not *块。还有什么可能导致你的程序挂起? – 2014-09-04 16:28:30

回答

-1
subprocess.Popen('python external_script.py > /dev/null 2>&1', shell=True) 

这将执行脚本,而不必等待它完成。

0

subprocess.Popen(['python', 'external_script.py'],shell=False,stdin=None,stdout=subprocess.PIPE,stderr=subprocess.PIPE)应该在你的情况下工作,因为这将独立运行

external_script.py
。当命令字符串是外部输入时,不建议使用 Shell=true