サブプロセスを使用して次のコマンドの出力をリストに表示する方法を教えてもらえますか?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 $
を実行したときに私にスローされるエラーは、コマンドは、それがシェル上で実行されたときに作業し、以下のフォーマットで出力
を生成していることに注意してくださいline1
line2
line3
誰かが助けてくれますか?コマンドのような
これは 'check_output()'呼び出しで 'shell = True'を必要とします。 – JohanL
@Hamuelありがとうが、上記のコードは私の問題を解決しませんでした。 – bindo