Flask 应用程序的另一个“语法错误:'返回'外部函数”

问题描述

我正在努力克服这种初学者的习惯,并想看看社区会提出什么建议。

照片#1 CODE ON SPYDER IDE

照片 #2 SyntaxError ON SPYDER CONSOLE

该项目的目标是将从 OBDII 设备提取的数据中继到烧瓶应用程序,以便显示数据(使用 Postman 测试脚本)

我很难弄清楚我的“return”语句是如何落在我的函数之外的 以及我需要做的修复来解决这个问题。

非常感谢所有帮助:)

import obd
from flask import Flask,jsonify
import json

#Creating a Web App 
app = Flask(__name__)

#Extracting OBDII Data (RPM for Now)
@app.route('/Extract_Data',methods=['GET'])

def Extract_Data():
    obd.logger.setLevel(obd.logging.DEBUG)
connection=obd.OBD()
rpm=obd.commands.RPM
response=connection.query(rpm)
connection.close()
return jsonify(response.value),200

#Running The App 
app.run(host = '0.0.0.0',port = 5000)

解决方法

缩进函数中的代码。 Python 严重依赖缩进,因此您必须对函数内的任何代码进行缩进。

import obd
from flask import Flask,jsonify
import json

# Creating a Web App 
app = Flask(__name__)

# Extracting OBDII Data (RPM for now)
@app.route('/Extract_Data',methods=['GET'])
def Extract_Data():
    obd.logger.setLevel(obd.logging.DEBUG)
    connection=obd.OBD()
    rpm=obd.commands.RPM
    response=connection.query(rpm)
    connection.close()
    return jsonify(response.value),200

# Running The App 
app.run(host = '0.0.0.0',port = 5000)

此外,在这一行:return jsonify(response.value),200,200 是默认状态代码,因此您可以改用 return jsonify(response.value)