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字符串,它不關心有趣的\內容,或者通過用/替換它們來完全省略\