Есть ли способ взять 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 и включить его в программу командной строки, которую сделал мой друг.
Хорошо, вы получаете свой ввод, используя 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)
Вы можете передать его в качестве параметра командной строки, например Space_COwbOy, или открыть канал, и если этот подпроцесс прослушивается на std-входе, настройте std-вход подпроцесса так, чтобы он перенаправлялся к выходному каналу родительского процесса. Затем, когда вы кормите данные через канал от родителя, подпроцесс будет получать результат от родителя, как если бы он читал со стандартного ввода.