从Python2.7shell运行一个MATLAB文件
有没有办法从Python2.7shell或.py代码运行Matlab.m文件?我尝试使用以下代码:从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,如果有帮助
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的示例