将网页表单数据传递给我的位置机器上的 Python 脚本



我有一个我编写的Python脚本,它利用API来检索天气信息,它现在只是一个简单的终端打印脚本。我开始更多地了解 HTML/JS,并且想知道我可以从哪里开始学习如何将信息从我的网页传递到脚本。

最终,我正在努力实现的是将邮政编码字符串输入从HTML表单传递到本地计算机上的Python脚本,然后让脚本将数据返回到我的网页。

问题是,我不知道从哪里开始,甚至不知道从哪里开始寻找信息。例如,我知道您可以将值传递给服务器端应用程序,这就是我在这里模拟的。

如果你想从你的网站运行你的python脚本,你可以使用服务器。鉴于您已经喜欢Javascript,我建议您使用名为Express的流行JS框架创建服务器。Express 是为 NodeJS(一个 JS 运行时(设计的。

设置 Express 服务器后,您可以开始创建路由并通过与 fetch 或 axios 等实用程序进行异步调用来将它们集成到您的网站中。例如,可以创建如下所示的示例应用:

var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.use('/run-script', function (req, res) {
res.send('Script run!');
};
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});

如果您仔细观察,app.use()允许您定义路由。当用户或 JS 脚本调用此路由时,将执行该函数。例如,在路由run-script中,您可以执行您的:

app.use('/run-script', function(){
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);
});

如您所见,有很多可能性。有关从节点调用 python 脚本的更多信息,请参阅此堆栈溢出问题。 一般来说,你可以开始深入研究NodeJS。为此,一个好的起点是官方指南。

请让我知道这个答案是否对您有用。

相关内容

最新更新