programa interprete idle ejecutar desde cómo consola archivos archivo python shell command-line python-idle

interprete - ¿Cómo ejecutar un script de python desde el shell interactivo IDLE?



idle python (10)

¿Cómo ejecuto un script de Python desde dentro del shell interactivo IDLE?

Lo siguiente arroja un error:

>>> python helloworld.py SyntaxError: invalid syntax


En IDLE, los siguientes trabajos:

import helloworld

No sé mucho sobre por qué funciona, pero sí ...


En Python 3, no hay execFile . Uno puede usar la función incorporada de exec , por ejemplo:

import helloworld exec(''helloworld'')


Función execfile : execfile

execfile(''helloworld.py'')

Normalmente no se puede invocar con argumentos. Pero aquí hay una solución:

import sys sys.argv = [''helloworld.py'', ''arg''] # argv[0] should still be the script name execfile(''helloworld.py'')

Obsoleto desde 2.6: popen

import os os.popen(''python helloworld.py'') # Just run the program os.popen(''python helloworld.py'').read() # Also gets you the stdout

Con argumentos:

os.popen(''python helloworld.py arg'').read()

Uso anticipado: subprocess

import subprocess subprocess.call([''python'', ''helloworld.py'']) # Just run the program subprocess.check_output([''python'', ''helloworld.py'']) # Also gets you the stdout

Con argumentos:

subprocess.call([''python'', ''helloworld.py'', ''arg''])

Lea los documentos para más detalles :-)

Probado con este helloworld.py básico:

import sys if len(sys.argv) > 1: print(sys.argv[1])


La ventana del shell IDLE no es lo mismo que un shell terminal (por ejemplo, ejecutando sh o bash ). Más bien, es como estar en el intérprete interactivo de Python ( python -i ). La forma más fácil de ejecutar un script en IDLE es usar el comando Open del menú File (esto puede variar un poco dependiendo de la plataforma que esté ejecutando) para cargar su archivo de script en una ventana del editor IDLE y luego use la Run -> Run Module comando de Run Module (atajo de teclado F5).


Para ejecutar un script de Python en un shell de Python como Idle o en un shell de Django, puede hacer lo siguiente usando la función exec (). Exec () ejecuta un argumento de objeto de código. Un objeto de código en Python es simplemente código de Python compilado. Entonces, primero debe compilar su archivo de script y luego ejecutarlo usando exec (). De tu caparazón:

>>>file_to_compile = open(''/path/to/your/file.py'').read() >>>code_object = compile(file_to_compile, ''<string>'', ''exec'') >>>exec(code_object)

Estoy usando Python 3.4. Consulte los documentos de compile y exec para obtener información detallada.


Por ejemplo:

import subprocess subprocess.call("C:/helloworld.py") subprocess.call(["python", "-h"])


Probé esto y funciona:

exec(open(''filename'').read()) # Don''t forget to put the filename between '' ''


Prueba esto

import os import subprocess DIR = os.path.join(''C://', ''Users'', ''Sergey'', ''Desktop'', ''helloword.py'') subprocess.call([''python'', DIR])


Puedes usar esto en python3:

exec(open(filename).read())


execFile(''helloworld.py'') hace el trabajo por mí. Una cosa a tener en cuenta es ingresar el nombre completo del directorio del archivo .py si no está en la carpeta Python misma (al menos este es el caso en Windows)

Por ejemplo, execFile(''C:/helloworld.py'')