Wie kann ich aus einem Python Cgi-Skript ein anderes Skript aufrufen und diesem dabei Parameter übergeben? Das Skript was aufgerufen werden soll ist kein CGI-Skript sondern ein ganz normales Python Skript was auf dem Linux Server ausgeführt werden soll.
Ich habe es mit dem exec Befehl probiert. Da kann man aber keine Parameter übergeben.
Danke für eventuelle Lösungen!!!
Python Programm aufrufen aus Python CGI-Skript
Danke für die Antwort. Aber irgendwie hilft mir dass auch nicht so richtig weiter, da ich nicht unbedingt ein Python-Profi bin. Aus der Doku werde ich leider nicht schlau.
Also vielleicht erkläre ich nochmal was mein Problem ist.
Ich möchte aus einem Python CGI-Skript (1.) ein anderes Python Skript (2.) starten, welches wiederum ein neues CGI-Skript (3.) aufrufen soll. Dabei soll das zweite Skript verschiedene Parameter übergeben bekommen und auch wieder welche an des 3. Skript übergeben.
Müsste das nicht so ähnlich wie bei der Kommandozeilenparamterübergabe funktionieren???
(skript2.py param1 param2 .....)
Also vielleicht erkläre ich nochmal was mein Problem ist.
Ich möchte aus einem Python CGI-Skript (1.) ein anderes Python Skript (2.) starten, welches wiederum ein neues CGI-Skript (3.) aufrufen soll. Dabei soll das zweite Skript verschiedene Parameter übergeben bekommen und auch wieder welche an des 3. Skript übergeben.
Müsste das nicht so ähnlich wie bei der Kommandozeilenparamterübergabe funktionieren???
(skript2.py param1 param2 .....)
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi Grenne,
die einfachste Möglichkeit ist exec[l|v]() daneben gibts noch popen und spawn in den verschiedenen Varianten. Beschreibung gibts hier http://www.python.org/doc/current/lib/os-process.html Was Du verwendest, hängt davon ab, ob Du nach dem Aufruf des nächsten Scripts noch weitere Sachen im aufrufenden Script machen willst oder nicht. Alternativ kannst Du auch ein Script importieren, dann wird auch alles innerhalb des Scripts ausgeführt was nicht in einer Funktionsdefinition steht und Du kannst auf Variablen, Classen und Funktionen des importierten Scripts zugreiffen.
Ich würde An Deiner Stelle, die Sachen, die die beiden aufzurufenden Scripte machen, in eine Funktionsdefinition packen, die Scripte importieren und dann wenn es gebraucht wird die Funktion ausführen.
Gruß
Dookie
die einfachste Möglichkeit ist exec[l|v]() daneben gibts noch popen und spawn in den verschiedenen Varianten. Beschreibung gibts hier http://www.python.org/doc/current/lib/os-process.html Was Du verwendest, hängt davon ab, ob Du nach dem Aufruf des nächsten Scripts noch weitere Sachen im aufrufenden Script machen willst oder nicht. Alternativ kannst Du auch ein Script importieren, dann wird auch alles innerhalb des Scripts ausgeführt was nicht in einer Funktionsdefinition steht und Du kannst auf Variablen, Classen und Funktionen des importierten Scripts zugreiffen.
Ich würde An Deiner Stelle, die Sachen, die die beiden aufzurufenden Scripte machen, in eine Funktionsdefinition packen, die Scripte importieren und dann wenn es gebraucht wird die Funktion ausführen.
Gruß
Dookie
Vielen Dank für die Hilfe. Mit exec(*) funktionierts.