我正在通过subprocess
模块将一个小的 MATLAB 脚本与 Python 连接起来。如下:
cmd='(matlab -nosplash -nodesktop -r "optimizer;quit;")'
p = subprocess.Popen(cmd,stdin=None,stdout=None,shell=True)
#subprocess.Popen.wait(p)
#p.wait()
print "DONE?"
但是甚至在 MATLAB 启动之前就已经打印了“DONE”!因此,我过去的整个代码都被破坏了。
我努力了:
- 使用 os.system() 调用(这是我开始的地方,但我在 SO 上读到它已弃用)
- 使用
p.wait()
和subprocess.Popen.wait
。两者都不起作用。 - 使用 3 分钟的手动暂停(MATLAB 平均完成所需的最长时间)Super Sloppy。
我错过了什么?