online - python powered
¿Existe la posibilidad de ejecutar un script de Python mientras se encuentra en modo interactivo? (6)
Es posible que desee ver en IPython , una shell interactiva más potente. Tiene varios comandos "mágicos" que incluyen %run script.py
(que, por supuesto, ejecuta el script y deja las variables que definió para que las examine).
Normalmente, puede ejecutar un script de Python, por ejemplo: python myscript.py
, pero si está en el modo interactivo, ¿cómo es posible ejecutar un script de Python en el sistema de archivos?
>>> exec(File) ???
Debería ser posible ejecutar el script más de una vez.
La forma más fácil de hacerlo es usar el módulo os
:
import os
os.system(''python script.py'')
De hecho, os.system(''cmd'')
para ejecutar comandos de shell. Espero que sea suficiente.
Puedes ejecutar cualquier comando del sistema usando python:
>>>from subprocess import Popen
>>>Popen("python myscript.py", shell=True)
También puede utilizar el módulo de subprocess
. Algo como:
>>> import subprocess
>>> proc = subprocess.Popen([''./script.py''])
>>> proc.communicate()
Use execfile(''script.py'') pero solo funciona en python 2.x, si está usando 3.0, intente this
import file
sin la extensión .py lo hará, sin embargo, __name__
no será "__main__"
por lo que si el script realiza alguna comprobación para ver si se está ejecutando de forma interactiva, deberá omitirlos.
Alternativamente, si desea observar el entorno después de ejecutar el script, pruebe con python -i script.py
EDITAR: cargarlo de nuevo.
file = reload(file)