Запуск Matlab M-функции из Python - PullRequest
2 голосов
/ 13 февраля 2012

Я хочу запустить мою функцию Matlab (test.m) из Python. Я преобразовал функцию в исполняемый файл test.exe, используя mcc -m команду Matlab; и я могу запустить его test.exe из командной строки Windows.

С другой стороны, когда я запускаю exe-файлы, используя os.system и subprocess.call от Python, он хорошо работает:

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 ]

1 голос
/ 13 февраля 2012

Ваша обработка строк неверна.

Вместо

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

либо используйте

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

или

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

или даже

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

, который также будет работать.

IOW, в исходной строке деталь \test распознается как <<code>TAB символ> + 'est'. Вы должны заключить в кавычки \ с другой \, использовать строки r aw, которые не заботятся о забавных \ вещах внутри, или вообще пропустить \ s, заменив их /.

0 голосов
/ 13 февраля 2012

Возможные проблемы:

  1. Вы не установили MCR.
  2. Не работает от имени администратора
  3. Работает с сетевого диска
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...