2014-08-31 3 views
-1

Мне нужна помощь в написании приложения Python, которое должно запускать другие сбои в командной строке. Например, когда я нажимаю кнопку «BLABLA» на функцию вызова приложения Python, которая запускается в командной строке c:\test> BLA.exe blabla, функция возвращает ту же строку, поэтому мне нужно сохранить ее в переменной.Запуск программ командной строки

Итак, я не знаю, как запускать программы командной строки из Python и возвращать строки этой программы.

+0

Я видел этот пост и не понять это ... –

+0

Извините, я не читал внимательно. Я удалил дубликат. Но на самом деле это ответ на [другой вопрос о стекепотоке] (http://stackoverflow.com/questions/4760215/running-shell-command-from-python-and-capturing-the-output) ... – Falko

ответ

0

Если вам нужен вывод команды, this answer может помочь:

import subprocess 

p = subprocess.Popen(['ls', '-a'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
out, err = p.communicate() 
print out 

Так что в вашем случае одна строка может выглядеть следующим образом:

p = subprocess.Popen(['BLA.exe', 'blabla'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
+0

Он работает только один время, если я запустил его снова с помощью «blabla2» в той же программе, он сделает неправильный staf (если я запустил его напрямую через командную строку, он отлично работает: BLA.exe blabla, enter, BLA.exe blabla2, enter ...) Any идеи? –

+0

@MAXK: Хм, убедитесь, что ваша программа не меняет рабочий каталог. Но для более подробного анализа ошибок вы можете описать «неправильный штат» и опубликовать свой код на Python. – Falko

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