从主脚本独立运行外部python脚本
问题描述:
我试图从我的主脚本运行“外部”脚本。从主脚本独立运行外部python脚本
我试图subprocess.Popen(['python', 'external_script.py'])
但外部脚本我想要运行包含循环,所以它会阻止主脚本启动。
有没有办法独立运行外部脚本,以便主脚本正常启动? (像在独立的控制台中运行每一个)。
我正在使用基于Linux的机器。
谢谢
答
subprocess.Popen('python external_script.py > /dev/null 2>&1', shell=True)
这将执行脚本,而不必等待它完成。
答
subprocess.Popen(['python', 'external_script.py'],shell=False,stdin=None,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
应该在你的情况下工作,因为这将独立运行
external_script.py。当命令字符串是外部输入时,不建议使用
Shell=true
。
你会得到任何错误? – Vor 2014-09-04 16:12:52
'threading'模块怎么样? – Kevin 2014-09-04 16:18:51
subprocess.Popen会在子进程终止之前执行* not *块。还有什么可能导致你的程序挂起? – 2014-09-04 16:28:30