cmd python의 함수 인수로 dict 목록 전달

cmd python의 함수 인수로 dict 목록 전달

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)

관련 정보