从 Web 应用程序将参数传递给 Python 脚本?

Posted

技术标签:

【中文标题】从 Web 应用程序将参数传递给 Python 脚本?【英文标题】:Pass Parameters to Python Script from Web App? 【发布时间】:2020-02-07 00:38:52 【问题描述】:

我有一个 python 文件,它从命令行接收 6 个参数并运行。

python_file.py param1, param2, param3, param4, param5, param6

我想做的是使用带有引导程序的烧瓶从网络应用程序传递参数。每个参数都需要有来自前端的选项来选择用户选择的参数。我在下面的前端寻找的示例是:

Param1_drop_down:  Param2 drop_down:
- option1          - option1 etc..
- option2
- option3
- option4

对此有什么想法吗?我是前端工作的新手,因此我们将不胜感激。

【问题讨论】:

您的问题到底是什么?是如何创建带有下拉选项的网络应用程序吗?或者您是否已经拥有该 Web 应用程序,并且想知道如何将数据从它发送到 Flask 服务器,然后将它们传递到您的 Python 文件? @AlexanderRossa 这两者都是。 【参考方案1】:

由于你使用命令行接收参数,我推荐使用subprocess.Popen,这样你可以用同样的方式运行你的脚本,Popen希望你运行一个bash命令,你可以很容易地使用它使用用户选择的 args 执行您的 python 文件。

编辑更清楚: 假设你有这个 python 脚本。

from time import sleep
count = 0
while True:
    print("Hello", count)
    count += 1
    sleep(10)

如果您想从另一个脚本调用它,您可以使用subprocess.Popen 为您执行此操作。

import subprocess

process = subprocess.Popen(["python3","yourfile.py"])

#Do something more while the other process is running

您还可以将 Popen 输出重定向到一个变量,并对返回的代码做一些工作。

【讨论】:

如果我只需要在不使用命令行的情况下将参数直接传递给 python 文件怎么办?这就是你所说的这个选项的作用吗? 我添加了更多关于我的答案的信息。是的,它将作为命令行运行,但它将直接从您的代码中运行,因此,您可以操纵要使用的参数。

以上是关于从 Web 应用程序将参数传递给 Python 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

使用 argparser 将参数传递给入口点 python 脚本

我不能将多个参数传递给 ASP Web API

从 subprocess.Popen 将参数传递给 argparse

将多列作为参数传递给函数,并从函数中为python中的数据框获取新列

将参数传递给python应用程序?

将更多/多个参数传递给 Python subprocess.call [重复]