问题:如下代码所示,在pyacharm里用flask框架搭建了一个服务,在主函数中定义了一个全局变量s,但是运行服务后,给服务发送post消息,在test_connection函数中居然不认识这个s变量。
最开始以为是变量作用域的问题,但是测试后发现不是。
app = Flask("服务")
#app = Flask(__name__)
@app.route("/extract_keywords", methods=['POST'])
def test_connection():
print(s)
if __name__ == '__main__':
s=1
解决方法:最后通过探索发现,是运行方式的问题,如果通过后台命令行启动服务,服务就会运行到主函数里,就能预先加载s变量了。