我正在使用 python 创建各种 matlab .m 文件,然后使用子进程运行它们。文件完成后我想删除它们:
command = ['C:\\MatlabR2012b\\bin\\matlab.exe', '-nodesktop', '-nosplash', '-r', 'mfile']
matlab = subprocess.Popen(command) # launch matlab with m file
matlab.wait() # wait for matlab to finish before deleting .m file
print "delete"
os.remove(self.filename)
问题是 matlab.wait() 永远不会等待,因为 matlab 立即返回退出代码 0。有没有其他方法来检查matlab是否完成?
在 Windows 上,两者都有bin\matlab.exe
and bin\win32\matlab.exe
(or bin\win64\matlab.exe
)。前者只是后者的包装,并且几乎立即退出。
您可以致电bin\win32\matlab.exe
直接或使用-wait option http://www.mathworks.com/help/matlab/ref/matlabwindows.html打电话时bin\matlab.exe
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)