首页 > 解决方案 > 在 Flask 中导入 python 脚本使其共享

问题描述

我有一个 python 脚本Flow.py,它有一个函数choked(),它接受用户输入并执行一组代数计算并打印结果(参见下面的示例代码)。我想让这个文件与我的同事共享。

我尝试了两种方法: 1 - 使其成为 .exe 文件 2 - 使用 Flask

面临的问题: 1 - 对于 .exe 文件,我尝试了cx_Freezepyinstaller,但都给出了错误。可执行文件在单击后立即关闭。2 - 在 Flask 中,在 shell 中运行时,它不会给出任何错误,但是在 localhost 上运行时,没有任何反应

from flask import Flask 

app = Flask(__name__)

@app.route('/')
def choked():     #this is my Flow.py
    
    e1 = input('Enter value 1: ')  # var type = str
    e2 = input('Enter value 2: ')  # var type = str
    e3 = input('Enter value 3: ')  # var type = str
        
    G = e1*e2*e3

    print ()
    
if __name__ == "__main__":
    app.run(host='0.0.0.0', port='8000', debug=True)

标签: pythonflask

解决方案


问题在于 Flask 用于路由并input期望从中读取stdin,您需要将其定义为 POST 请求,其中将 e1、e2、e3 指定为 URI 参数,然后对它们进行计算并返回响应。

@app.route('/<string:e1>/<string:e2>/<string:e3>'):
def choked(e1, e2, e3):
    G = e1 * e2* e3
    return G

当烧瓶运行时——

$ curl localhost:8000/<e1>/<e2>/<e3>

推荐阅读