3

Нужно использовать командную строку из скрипта Python 3 и получать ответ. Какая для этого есть функция\либа?

Izengardjke
  • 542
  • 1
  • 6
  • 23
  • 3
    А поподробнее описать проблему можно? Или требуется помощь психолога-телепата? – alexlz Jan 29 '13 at 08:45

2 Answers2

6

Вам нужени модуль subprocess.

result = subprocess.check_output(["command", "parameters"]);
fori1ton
  • 23,403
  • не совсем понял, что я должен указывать в параметрах. вот мне нужно выполнить команду 'C:\python32\python Z:\home\192.168.0.15\www\start.pyw start=1 module=server > Z:\home\192.168.0.15\www\test.html'. Как мне правильно воспользоваться этой функцией? – Izengardjke Jan 29 '13 at 08:59
  • Не совсем понял, чего вы хотите добиться. Вам нужно из командной строки вызвать питоновский скрипт и его вывод направить в файл или из питоновского скрипта вызвать команду в консоли и получить её вывод? – fori1ton Jan 29 '13 at 09:04
  • Получить ее вывод для разбора. В файл я написал просто чтобы отследить, срабатывает ли команда вообще. – Izengardjke Jan 29 '13 at 09:07
  • 1
    Тогда C:\python32\python - это команда, а Z:\home\192.168.0.15\www\start.pyw start=1 module=server - это параметры. – fori1ton Jan 29 '13 at 09:12
1

Если просто нужно что-то запустить с помощью консоли, то можно воспользоватся модулем os.

os.system('start "" "E:\...\namefolder")

Если нужно получить результат работы запускаемой программы, тогда используйте модуль subprocess.

from subprocess  import Popen, PIPE

process = Popen('start %s ' % (programm), stdout=PIPE, stderr=PIPE)
out,err = process.communicte()
if out:
   output = out.decode('cp866')
   print(output)
Lo_okiMan
  • 587