有人可以告诉我如何使用子进程得到下面的命令的输出到列表吗?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