dictリストを入力として渡す必要があるGunicornサーバーを実行しようとしています。ただし、空の文字列を値として送信すると削除されます。私のコマンドは
import subprocess
cmd = """gunicorn 'myapp:create([{key: ""}])' --worker-class gevent -w 1 --bind 127.0.0.1:8019"""
subprocess.call([cmd], shell=True)
マイアプリの内部
#myapp.py
create(d_input):
print(d_input)
# OUT : [{key: }]
ご覧のとおり、''
削除されてリストと辞書を解析できません。これを避ける方法はありますか?
また、入力転送を試みました。たとえば、[{key : 'Something'}]
この場合、出力は[{key : Something}]
私が期待したものです[{key : 'Something'}]
。どんな提案でも役に立ちます
答え1
私は同じ問題があり、リストをjsonに変換すると問題が解決しました。
import subprocess
cmd = """gunicorn 'myapp:create(json.dumps([{key: ""}]))' --worker-class gevent -w 1 --bind 127.0.0.1:8019"""
subprocess.call([cmd], shell=True)
答え2
殻は必要ないようです。努力する
cmd = ["gunicorn", 'myapp:create([{key: ""}])', "--worker-class", "gevent", "-w", "1", "--bind", "127.0.0.1:8019"]
subprocess.call(cmd, shell=False)