我像这样从 python 使用 Matlab 的 COM 接口(interface):
import win32com.client
mlab = win32com.client.Dispatch('matlab.application')
mlab.visible = True
print(mlab.Execute("1 + 1"))
当我运行上面的代码时,它会正确打印 ans = 2
但 Matlab(命令窗口)在执行代码后退出。我只想打开一个 Matlab 实例并向其发送命令,而不是每次都启动一个新的 Matlab session 。有没有办法做到这一点?作为记录,我在 Windows 上使用 Python 3.4.3 和 Matlab R2014A。
最佳答案
它是正在退出 matlab 的 mlab
的析构函数。保留此变量,您的 matlab session 将保持打开状态。
我建议只分派(dispatch)一次并在任何你需要的地方使用这个 com 实例,这样垃圾收集器就会完全按照你的意愿去做,一旦你不再使用它就关闭 matlab。
关于python - 如何使用 win32com 打开单个 Matlab 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31754572/