Как выполнить этот процесс Unix в Python?Проблемы при объединении аргументов - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть файл, которому нужно передать некоторые аргументы, чтобы начать выполнение процесса.Файл ../main/serv.Если я выполняю эту команду в терминале оболочки Unix, все идет хорошо.

../main/serv -o phy=dhc=file:serv:1 -o in=dhc,0 -o out=file:phy_out:1 -o eui48=01:00:00:00:00:00

Я вызываю эту функцию из моего скрипта Python, чтобы запустить процесс, но не работает.

    subprocess.call(["../main/serv", "phy=", "dhc=file:serv:1", "in=", "dhc,0", "out=" , "file:phy_out:1", "eui48=01:00:00:00:00:00"])

Iискал решение, но я не нашел его, я думаю, что я неправильно передаю аргументы, как я могу это сделать?

Спасибо!

1 Ответ

0 голосов
/ 28 февраля 2019

Я думаю, что я неправильно передаю аргументы, как я могу это сделать?

Просто передайте те же аргументы, которые вы передали, когда выполняли команду в оболочке,так что измените что

    subprocess.call(["../main/serv", "phy=", "dhc=file:serv:1", "in=", "dhc,0", "out=" , "file:phy_out:1", "eui48=01:00:00:00:00:00"])

на

    subprocess.call(["../main/serv", "-o", "phy=dhc=file:serv:1", "-o", "in=dhc,0", "-o", "out=file:phy_out:1", "-o", "eui48=01:00:00:00:00:00"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...