python - 如何使用 win32com 打开单个 Matlab 实例?

标签 python matlab win32com

我像这样从 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/

相关文章:

python - 如何使用python在Excel单元格中显示嵌入的文本文件

python - 在 Microsoft Outlook COM 中使用 win32com 的相对路径

python - 如何在 Python 中创建动态列表?

python - 将 (df.info) 方法输出存储在 DataFrame 或 CSV 中

Matlab:将总和放入函数中

c++ - OpenCVs LineIterator 在 MATLAB 中的等价物

python - python 中的 MS Word r/w、Python-docx 问题和 win32com 引用?

python - 使用在 32x32 字母图像上训练的模型来预测整个文档 ocr 文本

python - python 中的编号列表

arrays - 在 MATLAB regexpr 中使用数组项作为替换