Ich möchte ein Python-Skript von einem anderen Python-Skript aus ausführen. Ich möchte Variablen so übergeben, wie ich es über die Kommandozeile tun würde.
Ich würde zum Beispiel mein erstes Skript ausführen, das eine Liste von Werten (0,1,2,3) durchläuft und diese an das zweite Skript weitergibt script2.py 0
dann script2.py 1
, usw.
Ich fand Stack Overflow-Frage 1186789 was eine ähnliche Frage ist, aber die Antwort von ars ruft eine Funktion auf, während ich das ganze Skript ausführen möchte, nicht nur eine Funktion, und die Antwort von balpha ruft das Skript auf, aber ohne Argumente. Ich habe dies testweise in etwas wie das Folgende geändert:
execfile("script2.py 1")
Aber die Variablen werden nicht richtig akzeptiert. Wenn ich den Ausdruck sys.argv
in script2.py ist es der ursprüngliche Befehlsaufruf des ersten Skripts "[' C:\script1.py '].
Ich möchte das ursprüngliche Skript (d. h. script2.py in meinem Beispiel) nicht wirklich ändern, da ich es nicht besitze.
Ich denke, es muss einen Weg geben, dies zu tun; ich bin nur verwirrt, wie Sie es tun.