我在python中有一些维护脚本,并且正在努力创建一个快速的html界面来处理这些东西,以便通过GUI来解决问题。
我认为它会像ajax一样简单到python文件,其中包含一些数据参数,如下所示:
$.ajax({
type:"POST",
url: "sample.py",
data: {json: self.json, filename: self.filename},
success: function(){ console.log("success"); },
error: function(){ console.log("error"); }
}).done(function(){ console.log("done"); });
它找到了该文件,但响应是python文件的内容,而不是执行。
为了便于使用, sample.py 如下:
#!/usr/bin/python
import os
def main():
os.system("echo 'test file' > sampleFile.txt")
if __init__ == "__main__":
main()
该文件独立运行,但我有两个问题:
1:如何获取ajax文件以使python运行? 2:我如何捕捉并处理这些参数。
在查看文件权限时,它表示它具有完全控制权,因此它似乎不像chmod + x sample.py
那样简单我不想经历创建Django应用程序的所有开销,因为它是一个单页的html文件,带有angularjs javascript实现和bootstrap。感觉创建一个完整的Django或Flask应用程序将需要很多开销,但我知道这些框架可能隐藏了我需要的所有工作的密钥。
修改
我的一部分正在思考以下内容,但也许我的逻辑是关闭的。 1-启动SimpleHTTPServer 2-在目标端口上设置Socket侦听器。 3-捕获信息并执行脚本。
我注意到当我运行一个html文件时,它通过localhost为它分配一个端口,但显然如果我需要启动一个服务器并设置它,需要一个不同的机制来启动html文件等待拦截请求的文件。
答案 0 :(得分:0)
您将不得不运行某些运行该python文件(选项包括但不限于flask,django,wsgi或其他一些cgi框架[Running python through fastCGI for nginx) 。你是网络服务器正在做它应该做的事情,为你提供文件的静态内容。如果你想通过ajax在服务器上运行那个python文件(根据你的网络设置可能不安全),你必须让你的网络服务器知道要调用wsgi,fastcgi等来处理python文件当特定路线被击中时