2013-04-09 4 views
2

Я хочу запустить свои собственные несистемные внешние команды в python.как запустить мою собственную внешнюю команду в скрипте python

Такие как "sudo insteon on 23". Подпроцесс и os.system предназначены для системных вызовов.

Кто-нибудь знает, как это сделать?

Благодаря

+1

подпроцесса и os.system может быть использован для запуска любой внешней команды и, как правило, не работает «системные вызовы», на самом деле вы не» t всегда запускать системные вызовы непосредственно из командной строки – ennuikiller

+0

Можете ли вы привести пример для этого? спасибо – user2263305

ответ

1

Вы можете использовать subprocess.Popen для этого:

import shlex 
import subprocess 
proc = subprocess.Popen(shlex.split('sudo insteon on 23')) 
proc.communicate() 
+0

спасибо, но он возвращает «неузнаваемое устройство» – user2263305

+0

Выполняет ли 'sudo insteon on 23' из командной строки? – unutbu

+0

Большое спасибо. Я просто забыл связать устройство USB. Я запускаю его на VirtualBox. – user2263305

Смежные вопросы