从Python运行Matlab M-function

时间:2012-02-13 18:06:02

标签: python matlab operating-system subprocess matlab-deployment

我想从Python运行我的Matlab函数(test.m)。我使用Matlab的test.exe命令将函数转换为exe文件mcc -m;我可以从Windows的命令提示符运行它test.exe

另一方面,当我使用os.system和subprocess.call通过Python运行exe文件时,它运行良好:

subprocess.call('C:\Program Files\DVD Maker\DVDMaker.exe',shell=True)

(我的DVDMaker打开)

但是当我跑步时 subprocess.call('C:\...\test.exe',shell=True)

我收到了这个: The filename, directory name or volume label syntax is incorrect.

2 个答案:

答案 0 :(得分:1)

您的字符串处理错误。

而不是

'C:\...\test.exe'

使用

'C:\\...\\test.exe'

r'C:\...\test.exe'

甚至

'C:/.../test.exe'

也可以。

IOW,在您的原始字符串中,部分\test被识别为< TAB字符> + 'est'。您必须使用其他\引用\,使用不关心内部有趣r内容的\字符串或完全省略\ s将其替换为/

答案 1 :(得分:0)

可能的问题:

  1. 您没有安装MCR。
  2. 未以管理员身份运行
  3. 从网络驱动器运行