[英]Executing Python program on web
我可以使用os.system()
或subprocess.call()
对网络服务器执行的Python程序?
我的意思是,我可以在.py脚本中编写这些功能,然后从网络浏览器中运行它并期望该程序被执行吗?
非常感谢。
编辑:对不起,所有的混乱,我给你更多的背景我的问题。
我要这样做的原因是这样的。 我有一个Python程序,该程序接受XML文件并向我返回TTF文件。 我在终端中像这样运行该程序:
ttx somefile.xml
之后,它将完成所有工作并生成一个ttf文件。 现在,当我将此脚本部署为Web服务器上的模块时。 我使用来允许用户浏览和选择XML文件。 然后,我将文件数据读取到临时文件,然后将该文件传递给要执行的模块脚本,如下所示:
ttx.main([temp_filename])
这是正确的方法吗? 因为在这一点上,我在日志或浏览器中都没有收到任何错误。 我出现黑屏。
当这个没有工作,我会尝试os.system
或subprocess.call
您不使用os.system或subprocess.call将某些内容作为cgi进程执行。
也许您应该在这里阅读Python cgi教程:
http://www.cs.virginia.edu/~lab2q/
如果您希望cgi进程与本地计算机上的另一个进程进行通信,则可能需要查看Python的“ REST框架”。
是的,我一直都这样做。 像平常一样导入,将.py粘贴到cgi-bin文件夹中,并确保服务器能够处理python。
另一种选择是仅在Google的App Engine上创建一个应用程序。 这为您提供了大量执行Python的资源和API。
只要将服务器配置为运行CGI脚本(例如,有关Apache的文档在此处 ),是的,您可以从Web服务器执行python脚本。 只需确保脚本在适当的cgi-bin /目录中,并且该文件具有服务器上的可执行权限。
关于您的意见:
Option +ExecCGI
来完成的。 同样,请参阅我链接到的文档。 这是您在寻找问题时想要的东西,还是您想使用os.system()
实际调用 python脚本?
在IIS 5及更高版本的经典ASP中,我已经做了很多工作。 我会让ASP引擎执行python代码(而不是例如vbscript(在这里回溯到过去))。 在这些asp页面的后面是用直接python编写的python模块,可以将其导入并执行几乎任意代码。 正如其他人提到的那样,有效用户需要对您要执行的事情具有执行权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.