2017-03-16 4 views
1

Dachte, das wäre einfach, aber es gibt mir eine Menge Ärger. Was ist der einfachste Weg, ein Python-Skript mit Parametern auf einem Webserver auszuführen? Ich habe Node ausprobiert, hatte aber eine Menge Probleme mit dem Erzeugen von Child-Prozessen, versuchte PHP, stieß aber auf ein ähnliches Problem und konnte exec nicht einmal für das einfachste Skript verwenden. Habe gerade eine Weile versucht, Django auszuprobieren, aber das war viel zu kompliziert. Wie kann ich das tun, ohne das Rad neu zu erfinden?Einfachste Möglichkeit, Python-Skript mit Parametern auf einem Webserver auszuführen

Nehmen wir zum Beispiel die folgende Anfrage:

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

Und die Ausgabe von einem mit diesen params laufen Skript machen:

python someprogram.py foo bar 
+1

Sehen Sie sich die Bibliothek [subprocess] (https://docs.python.org/3/library/subprocess.html) an. – user2896976

Antwort

0

Versuchen bottle, ein Mikro-Web-Framework:

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) 

auszuführen:

pip install bottle 
python server.py 

Verwenden subprocess.check_output() ein Verfahren, um laichen, wenn Sie someprogram.py importieren nicht wollen.

+0

(BTW - Python kann als cgi-fähiger Server verwendet werden, ist aber veraltet und nicht sicher: https://docs.python.org/3/library/http.server.html#http.server.CGIHTTPRequestHandler) – Udi

Verwandte Themen