Normalerweise können Sie ein Python-Skript ausführen, zum Beispiel: python myscript.py
. Wenn Sie sich jedoch im interaktiven Modus befinden, wie können Sie ein Python-Skript auf dem Dateisystem ausführen?
>>> exec(File) ???
Es sollte möglich sein, das Skript mehrmals auszuführen.
Verwenden Sie execfile ('script.py') , aber es funktioniert nur mit Python 2.x, wenn Sie 3.0 verwenden, versuchen Sie this
import file
ohne die Erweiterung .py erledigt dies, jedoch wird __name__
nicht "__main__"
sein. Wenn das Skript also prüft, ob es interaktiv ausgeführt wird, müssen Sie es umgehen.
Wenn Sie nach dem Ausführen des Skripts einen Blick auf die Umgebung werfen möchten, versuchen Sie es alternativ mit python -i script.py
.
EDIT: Zum erneuten Laden
file = reload(file)
Vielleicht möchten Sie in IPython , einer leistungsfähigeren interaktiven Shell, nachsehen. Es verfügt über verschiedene "magische" Befehle, einschließlich %run script.py
(die natürlich das Skript ausführt und alle definierten Variablen für die Untersuchung hinterlässt).
Sie können auch das Modul subprocess
verwenden. So etwas wie:
>>> import subprocess
>>> proc = subprocess.Popen(['./script.py'])
>>> proc.communicate()
Sie können jeden Systembefehl mit Python ausführen:
>>>from subprocess import Popen
>>>Popen("python myscript.py", Shell=True)
Am einfachsten geht es mit dem Modul os
:
import os
os.system('python script.py')
Tatsächlich os.system('cmd')
, um Shell-Befehle auszuführen. Hoffe es wird genug sein.