2017-03-16 35 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

相關問題