使用Python3运行Flask代码无法启动本地web服务器如何解决
代码存在的可导致服务无法启动的问题
- 缩进与代码块归属错误:
if __name__ == '__main__'代码块被写在了key()视图函数内部,且位于return r语句之后,属于永远不会被执行的死代码,Flask服务启动逻辑根本不会运行;同时导入语句、@app_first.route("/")装饰器下方的def key()定义存在多余的错误缩进。 - 基础语法错误:
if__name__=='__main__'写法不符合规范,if和__name__之间缺少空格,语句末尾缺少英文冒号,正确写法为if __name__ == '__main__':。 - 隐性风险问题:使用Python内置函数名
len作为自定义变量名,会覆盖内置函数功能,存在隐性报错风险;若keywordnum为自定义模块,需确保其和当前启动脚本处于同一目录、且可以正常导入,否则会直接抛出ImportError导致启动失败。
修正后可正常运行的代码
from flask import Flask from flask import request from flask import Response import keywordnum # 请确保该自定义模块可正常导入 app_first = Flask(__name__) @app_first.route("/") def key(): word = request.args.get('word') count_res = keywordnum.count(word) reply = str(count_res) r = Response(response=reply, status=200) return r if __name__ == '__main__': app_first.run(host="0.0.0.0", port=4000)
修正后直接运行脚本即可在本地4000端口启动服务,访问http://127.0.0.1:4000/?word=待查询关键词即可得到对应的返回结果。
内容的提问来源于stack exchange,提问作者user14686913
相关产品推荐
相关产品推荐

