这学期我在上一门python课程,我想以网页的形式在我的程序中添加图形用户界面。一方面我懒得学习Tkinter,另一方面我只是在挑战自己,另一方面我喜欢用HTML/JS编写接口。在
我知道使用SimpleHTTPServer创建HTTP服务器的基本知识,但我需要的是让我的web页面向服务器上的python脚本发出ajax命令,然后在服务器端执行,然后接收脚本输出。有点像Sage是怎么做的。在
如何为SimpleHTTPServer创建一个扩展,然后使用它提供python脚本的输出?我需要一个非常通用的解决方案,这样,对于我编写的任何python脚本,我可以轻松地将其包装在某种接口中,将其放入服务器的文件夹中,而不必做任何其他操作,只需使用AJAX调用它,我的服务器将处理其余的脚本。在
我目前的想法是用一个名为output
的函数来扩展我的脚本的ServerSideScript
类。我拥有的每个脚本都应该包含一个名为script的ServerSideScript子类。例如,当要求服务器提供服务时,食品,它会注意到扩展并执行以下操作:
if self.path[-3:]: == ".py":
return getScriptOutput(self.path)
...
def getScriptOutput(self, path):
from path import Script # obviously not going to work, since path is a string
return Script().output()
由于评论中指出的原因,这不起作用,我知道像import_module函数之类的东西,但是导入似乎是一种丑陋的方法。在
推荐什么?在
您可能想看看IPython notebooks-它本质上为您提供了一个基于web的交互式pythonshell,它甚至集成了matplotlib等。您可以将Python脚本保存为笔记本,在语句之间添加文本等
如果想共享输出,但不想共享交互,也可以使用nbviewer。在
Python附带电池;^{} 将使用CGI标准运行Python脚本:
只要Python脚本具有
.py
或.pyw
扩展名,并且是可执行的,那么它将运行Python脚本;映射到文件的其他路径将被视为常规文件并提供其内容。在您可能还对^{} 和^{} 模块感兴趣,以帮助简化CGI脚本开发。在
相关问题 更多 >
编程相关推荐