从Python2.7shell运行一个MATLAB文件

从Python2.7shell运行一个MATLAB文件,python,matlab,Python,Matlab,有没有办法从Python2.7shell或.py代码运行Matlab.m文件?我尝试使用以下代码: import os os.chdir(r'D:\The_folder_where_the_file_is') os.startfile("The_desired_Matlab_file.m") 但是,它只是打开.m文件,没有运行它(就像在编辑器Matlab中按F5一样)。我该怎么办? (我已经下载了pymat和win32,如果有帮助

有没有办法从Python2.7shell或.py代码运行Matlab.m文件?我尝试使用以下代码:

import os   
os.chdir(r'D:\The_folder_where_the_file_is')                             
os.startfile("The_desired_Matlab_file.m")
但是,它只是打开.m文件,没有运行它(就像在编辑器Matlab中按F5一样)。我该怎么办?

(我已经下载了pymat和win32,如果有帮助的话)

Python无法直接运行
.m
文件,您需要使用matlab或octave。Python可以使用
subprocess.Popen()
函数运行外部命令。试着这样做:

import subprocess, os
os.chdir(r'D:\The_folder_where_the_file_is')
subprocess.Popen(['matlab','The_desired_Matlab_file.m'])

您提到您已经安装并希望使用它。在这种情况下,打开
.m
文件的正确方法是首先使用
pymat.open()
函数启动会话,然后使用
pymat.eval()
函数运行任何命令。有关示例和更多详细信息,请参阅文档。

最近,我遇到了相同的问题,最后我用这种方法解决了它。 我在64位Windows 7上工作

首先,您需要将“matlab.exe”放入系统路径“path”

第二,试试这个代码

    import os, subprocess
    os.chdir(r'D:\the-fold-where-your-m-file-is')
    print os.listdir(os.curdir)
    returnCode = subprocess.call("matlab -r your-m-file-name.m")
    print "Return Code: ", returnCode

希望这个答案能帮助别人,谢谢

事实上,我很抱歉,我想说Numpy而不是pymat。我试图安装pymat,但它似乎无法在Python2.2之外的版本中运行,现在我使用的是2.7。非常感谢您的帮助,我将在subprocess库中查找适当的函数subprocess是标准库的一部分。您不必单独安装任何东西,可以找到一个使用Python中的-r选项运行MATLAB的示例