有沒有辦法把raw_input,記錄到內存,然後在子進程中調用它?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,記錄到內存,然後在子進程中調用它?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併入到我的朋友製作的命令行程序中。
您可以將它作爲像Space_COwbOy提到的命令行參數傳遞,也可以打開管道,如果該子進程在std-input上偵聽,則設置子進程的std-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)
你可以把它作爲一個命令行參數,你朋友的二進制命令到你朋友的節目? – 2011-04-27 11:24:12
@ space_c0wb0y:不。 – user715578 2011-04-27 11:30:30