【问题标题】:How can I call Python script from URL and get parameters如何从 URL 调用 Python 脚本并获取参数
【发布时间】:2016-07-30 12:07:11
【问题描述】:

我用http://domain/script.py 调用我的脚本 当我像http://domain/script.py?parmameter=value一样调用它时,如何使用参数调用脚本并在python脚本中获取参数 我找不到解决方案,甚至找不到这是否可能。 会很高兴找到解决方案。 谢谢大家。


编辑: 我现在从 php 运行它: http://domain/script.php?parmameter=value

<?php
if (isset($_GET['parmameter'])){
    $myval = $_GET['parmameter'];
    $command = escapeshellcmd("python script.py $myval" );
    ...
?>

【问题讨论】:

  • 如果您不关心性能,请查看flask

标签: python url server


【解决方案1】:

请告诉我们更多关于您的设置和工作原理的信息。什么在为您的 Python 脚本提供服务?您使用的是 nginx 或 Apache 之类的 Web 服务器吗?
在没有某种界面的情况下,您通常无法通过 Web 浏览器运行 Python 脚本 - 否则您只会获得作为文本的 Python 文件的源代码。
如果您使用 Flask 或 Django 作为 Web 框架,那么它们具有访问查询字符串的内置方法。

编辑:由于您将其称为 shell 脚本,因此您希望获取 命令行参数

看看这个答案:Calling command line arguments in Python 3

您可以通过以下方式获取$myval 变量的值:import sys 然后sys.argv[1](但最好在尝试访问它之前检查它是否存在,或使用异常处理)。

【讨论】:

  • 我不确定,这是一个支持 python 的虚拟主机(没有更多信息)。我也有 SSH 访问权限,但无法从终端运行 python,只能从 url 运行。
  • 对,所以您本质上是通过 shell 命令运行它,并且您想要获取命令行参数。
  • 你对这个答案满意吗,@oxidworks?是否有助于解决您的问题?
  • 不,因为我不能从命令行运行 python,只能从 URL 运行。所以我需要使用PHP来获取args。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-29
  • 2022-06-12
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-10
  • 1970-01-01
相关资源
最近更新 更多