問題:如下代碼所示,在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變量了。