如何从网页调用Python脚本

3

我对Python和Web应用程序都比较陌生,如果有术语/关键字混淆的地方请见谅。

我有一个Python脚本,运行一个json-rpc服务器,导出设备的一些管理API。我编写了另一个Python脚本来实现CLI控制应用程序(使用Python的cmd模块)。所有这些都在Ubuntu12.04机器上运行。

现在,我想用一个非常简单的网页(它被称为Web应用程序吗?还是Web服务?也许是WSGI?其他什么?)来替换CLI应用程序。该页面应该提供一种调用API的方式,由用户设置参数,并可能显示结果。如何最好地(学习曲线最小,开发时间最短...)进行操作?

我应该编写一些PHP代码(从OS搜索中看,这似乎是一个流行的方法),并从其中调用另一个Python脚本吗?我能否完全使用Python(可能是的,但会很容易吗?)?

任何提示/方向/建议将不胜感激,谢谢!

2个回答

10

您可以通过PHP运行Python脚本,并在浏览器上输出。

基本上,您需要按照以下方式调用Python脚本:

$command = "python /path/to/python_script.py 2>&1";
$pid = popen( $command,"r");
while( !feof( $pid ) )
{
 echo fread($pid, 256);
 flush();
 ob_flush();
 usleep(100000);
}
pclose($pid);
注意:如果您在 Python 代码中运行任何 time.sleep() 函数,则不会在浏览器上输出结果。 要实现完全的代码工作,请访问如何从 PHP 执行 Python 脚本并在浏览器上显示输出

谢谢LLingas!我假设代码片段应该放在PHP页面中,对吗?有没有推荐的工具来生成这样的页面? - DavidG

0

如果API和您的页面在同一服务器上,您可以使用JavaScript和Ajax来实现此功能。有一些用JavaScript编写的JSON-RPC库,列表在维基百科上


谢谢jcubic!那需要我具备一些JavaScript和/或Ajax的知识。Python中没有框架可以做到这一点吗? - DavidG
@DgAn 你可以使用一个表单(HTML)创建CGI脚本,然后对于表单的响应(用Python),你可以编写代码来使用与CLI脚本相同的API。 - jcubic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接