有人可以告訴我如何使用子進程得到下面的命令的輸出到列表嗎?python子過程輸出到一個數組
curl --silent -u username:password http://localhost:55672/api/queues | sed 's/,/\n/g' | grep '"name"\:' | tr -d "name:" | tr -d -d \"
試圖 「subprocess.popen」, 「subprocess.call」 和 「subprocess.popen」,但無濟於事。以下是我嘗試過的一個例子。
import json
import subprocess
HO=subprocess.check_output("curl --silent -u username:passwordhttp://localhost:55672/api/queues | sed 's/,/\n/g' | grep '"name"\:' | tr -d "name:" | tr -d -d \"", shell=True)
print HO
當後者運行
File "./rb.py", line 10
HO=subprocess.check_output("curl --silent -u username:password http://localhost:55672/api/queues | sed 's/,/\n/g' | grep '"name"\:' | tr -d "name:" | tr -d -d \"", shell=True)
^
SyntaxError: invalid syntax
[my_shell][email protected]:~/rbmq_test $
是我引發的錯誤,請注意,當它在shell中運行,並在下面的格式生成輸出命令正在
line1
line2
line3
請問有人可以幫忙嗎?
這需要在'check_output()'調用中'shell = True'。 – JohanL
@Hamuel謝謝,但上述代碼沒有解決我的問題。 – bindo