获取stdout输出作为字典列表而不是字符串

时间:2018-01-25 12:48:00

标签: python json subprocess stdout httpresponse

我正在运行带有子进程的python脚本,后者将运行另一个test.py脚本并获得一些输出。

test.py,进行一些解析并输出字典列表。

  data = [{'a': 12, 'name':'abc'}, {'a': 16, 'name':xyz}, {'a': 17, 'name': lmn}]

  def func1:
  cmd = 'python {}{}{} {} {}'.format(settings.BASE_DIR,'test.py',arg1,arg2)
  p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
  out, err = p.communicate()
  return(p.returncode,err, out)

  def funct2(request):
    if request.GET:
        statuscode,err,resp = func1(arg1,arg2)       
        if not err and statuscode == 0:
             return HttpResponse(json.dumps({'resp':resp,'status_code':statuscode,'err':err}),content_type="application/json")

这样我就可以在我的javascript中处理这些数据来获取json对象。 截至目前,在我的.js文件中,即使在JSON.parse(resp)

之后,它仍然具有字符串

我的问题是如何将test.py的输出仅作为列表发送并进一步处理以在我的javascript中获取JSON对象,如下所示。

0 个答案:

没有答案