SyntaxError:在Python / Flask代码中全局声明之前使用名称's'

问题描述 投票:0回答:1

我的代码的目标是将其放入两个EC2实例中,然后将它们连接到负载均衡器以在两个实例之间分配请求。

这是我的代码,在EC2实例中对其进行测试之前,我首先尝试在本地进行测试,然后最终也使用负载均衡器对所有内容进行测试。

from flask import Flask,request,session
##global s
s = 0
app = Flask(__name__)

@app.route("/", methods=["GET","POST"])
def disp():
    if request.method == "GET":
        global s
        s = 0 
        return str(s)
    if request.method == "POST":
        global s
        s = request.json["num"]
        return str(s)

if __name__ =="__main__":
    app.run()
    ##app.run('0.0.0.0', port=80)

当我在本地运行时返回的错误是SyntaxError:在全局声明之前使用名称's'。我尝试在导入行后删除s = 0,但错误仍然存​​在。

python python-3.x amazon-web-services flask amazon-ec2
1个回答
0
投票

global s函数中有两个disp,而第二个则说错了,因为它之前看到了s = 0

理想地,在声明函数之后放置global定义:

from flask import Flask,request,session

s = 0
app = Flask(__name__)

@app.route("/", methods=["GET","POST"])
def disp():
    global s
    if request.method == "GET":
        s = 0 
        return str(s)
    elif request.method == "POST":
        s = request.json["num"]
        return str(s)

if __name__ =="__main__":
    app.run()
    ##app.run('0.0.0.0', port=80)

也改为第二个。

© www.soinside.com 2019 - 2024. All rights reserved.