2017-03-16 15 views
1

认为这很简单,但它给我带来了很多麻烦。在web服务器上用params运行python脚本最简单的方法是什么?我已经试过了Node,但是在产生子进程时遇到了很多麻烦,尝试过PHP,但遇到了类似的问题,但即使是最简单的脚本也无法运行exec。只是花了一段时间尝试Django,但事实证明这涉及到太多。我如何在不重新发明轮子的情况下做到这一点?在Web服务器上使用参数运行python脚本的最简单方法

例如,采取以下请求:

www.example.com/someprogram?foo=bar&bar=baz 

和呈现从与那些PARAMS运行脚本输出:

python someprogram.py foo bar 
+1

查看使用[subprocess](https://docs.python.org/3/library/subprocess.html)库。 – user2896976

回答

0

尝试bottle,微web框架:

someprogram.py:

def f(foo, bar): 
    return "foo: {}, bar: {}"format(foo, bar) 

server.py:

from bottle import route, run 
import someprogram 


@route('/') 
def home(): 
    return someprogram.f(request.query.foo, request.query.bar) 

if __name__ == "__main__": 
    run(debug=True, reloader=True) 

运行:

pip install bottle 
python server.py 

使用subprocess.check_output()产卵的过程,如果你不希望导入someprogram.py

+0

(顺便说一句 - Python可以用作启用cgi的服务器,但它被认为已经过时并且不安全:https://docs.python.org/3/library/http.server.html#http.server.CGIHTTPRequestHandler) – Udi

相关问题