Raw_input для подпроцесса

1

Есть ли способ взять raw_input, записать его в память, а затем вызвать его в подпроцессе?

x = raw_input("what is your fav. Color??")
Subprocess.Popen("C://Windows/system32/cmd.exe")
os.system('echo your favorite color is "x"')

Моя основная потребность в этом заключается в том, что я могу взять пользователя raw_input и включить его в программу командной строки, которую сделал мой друг.

  • 0
    Можете ли вы передать его в качестве параметра командной строки в программу вашего друга?
  • 0
    @ space_c0wb0y: нет ..
Теги:
subprocess

2 ответа

4

Хорошо, вы получаете свой ввод, используя raw_input

x = raw_input('Input:')

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

from subprocess import Popen, PIPE, STDOUT

p = Popen(['yourfriendsbinary'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)

out,err = p.communicate(input=x)
print(out)
0

Вы можете передать его в качестве параметра командной строки, например Space_COwbOy, или открыть канал, и если этот подпроцесс прослушивается на std-входе, настройте std-вход подпроцесса так, чтобы он перенаправлялся к выходному каналу родительского процесса. Затем, когда вы кормите данные через канал от родителя, подпроцесс будет получать результат от родителя, как если бы он читал со стандартного ввода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню