python - 在 Flask 中导入 python 脚本使其共享
问题描述
我有一个 python 脚本Flow.py
,它有一个函数choked()
,它接受用户输入并执行一组代数计算并打印结果(参见下面的示例代码)。我想让这个文件与我的同事共享。
我尝试了两种方法: 1 - 使其成为 .exe 文件 2 - 使用 Flask
面临的问题: 1 - 对于 .exe 文件,我尝试了cx_Freeze
和pyinstaller
,但都给出了错误。可执行文件在单击后立即关闭。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)
解决方案
问题在于 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>
推荐阅读
- bash - 有没有办法使用 Locate 数据库在 Unix Shell 中执行复制?
- python - 如何从 Python 脚本中创建存储过程?
- javascript - 我在使用 JavaScript 和 HTML 时遇到了这个问题
- c# - c# - Revit api - 多版本插件 .csproj 文件
- azure - 是否可以在 Spring Boot Azure 应用程序中跟踪实时指标?
- r - 如何在 R 中使用 pagedown 和 kable 打印表格,然后是分页符
- javascript - 发送帖子nodejs时连接关闭
- python - 如何有效地计算多个列表的共现计数?
- amazon-ec2 - 尽管命令正在 AWS EC2 实例上的终端上运行,但 Cron 作业无法正常工作
- c++ - 用于从 Java 移植到 C++ 的文本字符串的 3 路基数快速排序