2

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

在另一边,当我运行使用使用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.

回答

0

可能的问题:

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

你的字符串处理是错误的。

而不是

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

要么使用

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

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

甚至

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

这也可以工作。

IOW,在您的原始字符串中,零件\test被识别为< TAB字符> + 'est'。您必须引用\与另一个\,使用r aw字符串,它不关心有趣的\内容,或者通过用/替换它们来完全省略\