2011-04-27 4 views
1

raw_input을 메모리에 기록한 다음 하위 프로세스에서 호출하는 방법이 있습니까? 나는 사용자의 raw_input을을 가지고 내 친구가 만든 명령 줄 프로그램으로 그것을 통합 할 수 있도록 이에 대한Raw_input from subprocess

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

내 주요 필요가있다.

+0

처럼 친구의 바이너리를 호출하는 명령을 하위 프로세스로 전송 한 후 사용 raw_input

x = raw_input('Input:') 

를 입력을 얻을 그리고 너의 친구 프로그램에? –

+0

@ space_c0wb0y : 아니요 .. – user715578

답변

0

Space_COwbOy와 같은 명령 줄 매개 변수로 전달하거나 파이프를 열 수 있으며 해당 하위 프로세스가 std 입력을 수신하는 경우 하위 프로세스의 std 입력을 설정하여 상위 프로세스의 출력 파이프로 재 지정됩니다. 그런 다음 상위 프로세스에서 파이프를 통해 데이터를 공급할 때 하위 프로세스는 표준 입력에서 읽은 것처럼 부모로부터의 출력을 선택합니다.

4

좋아, 당신은 당신이 명령 줄 매개 변수로 전달할 수 있습니다이

from subprocess import Popen, PIPE, STDOUT 

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

out,err = p.communicate(input=x) 
print(out) 
관련 문제