我想用popen啓動一個接一個地調用兩個命令(有多個參數)的子進程。第二個命令依賴於第一個命令的運行,所以我希望使用一個子進程來運行,而不是產生兩個進程,然後等待第一個命令。python subprocess popen同步命令
但我遇到了問題,因爲我不知道如何給出兩個命令輸入或將命令作爲一個單獨的對象進行分離。
此外,我試圖避免將shell設置爲true,如果可能的話。
這基本上,我試圖做的事:
for test in resources:
command = [
'pgh',
'resource',
'create',
'--name', test['name'],
'--description', test['description'],
]
command2 = [
'pgh',
'assignment',
'create',
'--name', test['name'],
'--user', test['user'],
]
p = Popen(command, stdout=PIPE, stderr=PIPE)
stdout, stderr = p.communicate()
print(stdout)
print(stderr)
你能更具體一些問題嗎? 什麼阻止你再次用'command2'調用'Popen'? – Yourstruly
我一直希望使用相同的過程,因爲它需要順序調用命令,所以一個子過程可以一個接一個地運行這兩個命令,而不是多個子過程 –
如果問題是**「順序」**而不是「同步」然後? – Baldrickk