Matlab立即返回退出代码

时间:2014-04-17 10:21:21

标签: python matlab subprocess exit-code

我用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是否已完成的方法吗?

1 个答案:

答案 0 :(得分:4)

在Windows上,有bin\matlab.exebin\win32\matlab.exe(或bin\win64\matlab.exe)。前者只是后者的包装,并且很快就会退出。

您可以直接致电bin\win32\matlab.exe或致电bin\matlab.exe时使用-wait option