【发布时间】:2017-07-18 10:11:06
【问题描述】:
我创建了一个使用命令行并调用程序的应用程序。
from flask import Flask, jsonify, make_response, request
import os
import subprocess
import json
app = Flask(__name__)
@app.route('/api/v1.0/qanda/', methods=['GET'])
def people_api():
text = request.args.get('text')
Answer = subprocess.Popen(['programcall', repr(text)],stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()[0]
if text is None:
make_response(jsonify({'error': 'Missing text parameter'}), 400)
return jsonify(Answer)
app.run('0.0.0.0')
当我点击浏览器 URL 时,我想要得到的是应用程序上的 PRETTY JSON OUTPUT。我试图显示输出,但它不是漂亮的 Json,而且大部分时间 jsonify 都给出错误:JSON 未序列化。
请告诉我如何使用我的应用程序显示正确的结果
我可以遇到的一个错误是:
Answer = Answer + subprocess.Popen(['programcall', repr(text)],stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate()[0]
TypeError: can only concatenate list (not "bytes") to list
【问题讨论】:
标签: python json python-3.x flask