从Web运行Python脚本

从Web运行Python脚本,python,web-services,web-applications,web,python-2.7,Python,Web Services,Web Applications,Web,Python 2.7,我几乎一年来一直在为同样的问题蹒跚而行。我总是想办法解决这个问题,但我厌倦了寻找解决办法 我需要的是在网页上创建一个按钮(最好是HTML,而不是PHP或ASP),在服务器上运行python脚本。我还希望这个按钮能够将表单中的信息发送到脚本 我需要在本地主机上并通过托管在Amazon云上的web服务执行此操作。我不能在Amazon云服务上安装任何额外的东西,比如PHP或CGI 我真的想要一个简单的解决方案,我是python的专家,我可以编写网页,但我就是找不到一个简单的解决方案来解决这个问题 我的

我几乎一年来一直在为同样的问题蹒跚而行。我总是想办法解决这个问题,但我厌倦了寻找解决办法

我需要的是在网页上创建一个按钮(最好是HTML,而不是PHP或ASP),在服务器上运行python脚本。我还希望这个按钮能够将表单中的信息发送到脚本

我需要在本地主机上并通过托管在Amazon云上的web服务执行此操作。我不能在Amazon云服务上安装任何额外的东西,比如PHP或CGI

我真的想要一个简单的解决方案,我是python的专家,我可以编写网页,但我就是找不到一个简单的解决方案来解决这个问题

我的理想解决方案是类似邮件收件人标签的东西:

<a href="mailto:someone@example.com?Subject=Hello%20again">Send Mail</a>

除:

<a href="myscript.py?Subject=1234">Run Script</a>

现在我高度怀疑这样的解决方案是否存在,但我可以梦想正确

我正在尝试运行的脚本:

  • 从用户返回唯一的ID
  • 将ID发送到GIS程序,该程序基于ID创建地图(ID选择地图的区域)
  • 然后将地图导出为PNG,写入HTML文档,然后在新选项卡中为用户显示
  • 编辑---------------------------

    多亏了@Ketouem-answer,我才找到了解决问题的好办法。我将在这里发布一些代码,以便其他人可以从中受益。确保您下载了python的瓶子模块,它很棒

    # 01 - Import System Modules
    from bottle import get, post, request, Bottle, run, template
    
    # 02 - Script Variables
    app = Bottle()
    
    # 03 - Build Temporary Webpage
    @app.route('/SLR')
    def login_form():
        return '''<form method="POST" action="/SLR">
                    Parcel Fabric ID: <input name="UID" type="text" /><br />
                    Save Location: <input name="SaveLocation" type="text" value="D:/Python27/BottleTest/SLR_TestOutputs"/><br />
                    Air Photo On: <input name="AirPhoto" type="checkbox"/><br />                
                    Open on Completion: <input name="Open" type="checkbox"/><br />
                    Scale: <input name="Scale" type="text" value="10000"/><br />
                    <input type="submit" />
                  </form>'''
    
    # 04 - Return to GIS App
    @app.route('/SLR', method='POST')
    def PHPH_SLR_Script():
        # I won't bother adding the GIS Section of the code, but at this point it send the variables to a program that makes a map. This map then saves as an XML and opens up in a new tab.
    
     # 04 - Create and Run Page
    run(app, host='localhost', port=8080)
    
    #01-导入系统模块
    从瓶子导入获取、发布、请求、瓶子、运行、模板
    #02-脚本变量
    app=瓶子()
    #03-建立临时网页
    @应用程序路径(“/SLR”)
    def login_form():
    返回“”'
    包裹结构ID:
    保存位置:
    航拍照片:
    完成时打开:
    比例:
    ''' #04-返回GIS应用程序 @app.route('/SLR',method='POST') def PHPH_SLR_脚本(): #我不想费心在代码中添加GIS部分,但此时它会将变量发送到一个制作地图的程序。然后,此映射保存为XML,并在新选项卡中打开。 #04-创建和运行页面 运行(应用程序,host='localhost',端口=8080)
    您可以使用瓶子:这是一个轻型web框架

    您可以使用web.py、flask或pyramid运行守护程序吗?我在这个问题上遇到了另一个问题,如果有人能帮助找到它,嗯,这是一个非常有趣的解决方案,在我真正知道它是否适用于我的情况之前,我必须对它进行实验。非常好的解决方案,我将在我的答案中添加我的代码,但您确实帮助了这个模块的建议。@CodyBrown您的解决方案?