¿Cómo ejecuto un script de Python desde el shell interactivo IDLE?
Lo siguiente arroja un error:
>>> python helloworld.py
SyntaxError: invalid syntax
python
shell
command-line
python-idle
tshepang
fuente
fuente
helloworld.py
aspecto tiene ?python helloworld.py
en una ventana de shell IDLE y eso no funcione.Respuestas:
Python3 :
Si su archivo no está en el mismo directorio:
Consulte https://stackoverflow.com/a/437857/739577 para pasar variables globales / locales.
En versiones obsoletas de Python
Función incorporada de Python2 : execfile
Normalmente no se puede llamar con argumentos. Pero aquí hay una solución:
En desuso desde 2.6: popen
Con argumentos:
Uso avanzado: subproceso
Con argumentos:
Lea los documentos para obtener más detalles :-)
Probado con este básico
helloworld.py
:fuente
exec
para Python3Puedes usar esto en python3:
fuente
La ventana del shell IDLE no es lo mismo que un shell terminal (por ejemplo, en ejecución
sh
obash
). 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 elOpen
comando delFile
menú (esto puede variar un poco según la plataforma que esté ejecutando) para cargar su archivo de script en una ventana del editor IDLE y luego usar el comandoRun
->Run Module
(acceso directo F5).fuente
sys.argv
al principio del programa, por ejemplo, en elif __name__ == "__main__"
modelo habitual .Run
->Run with Customized...
(atajo Shift + F5) y se abrirá una ventana emergente donde podrá proporcionar sus argumentos. Desafortunadamente, no los recuerda actualmente, por lo que los pegará con cada ejecución.Prueba esto
fuente
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 de Python (al menos este es el caso en Windows)Por ejemplo,
execFile('C:/helloworld.py')
fuente
LA MANERA MÁS FÁCIL
fuente
Por ejemplo:
fuente
subprocess.call(r'c:\path\to\something.py')
no funciona para mi. OSError: [WinError 193]% 1 no es una aplicación Win32 válidaEn Python 3, no hay
execFile
. Uno puede usar laexec
función incorporada, por ejemplo:fuente
En IDLE, funciona lo siguiente: -
No sé mucho sobre por qué funciona, pero funciona ...
fuente
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 Python compilado. Por lo tanto, primero debe compilar su archivo de script y luego ejecutarlo usando exec (). De tu caparazón:
Estoy usando Python 3.4. Consulte los documentos de compilación y ejecución para obtener información detallada.
fuente
Probé esto y funciona un poco:
fuente
puedes hacerlo de dos maneras
import file_name
exec(open('file_name').read())
pero asegúrese de que el archivo debe almacenarse donde se ejecuta su programa
fuente
En el entorno Windows, puede ejecutar el archivo py en la línea de comandos del shell Python3 con la siguiente sintaxis:
A continuación se explica cómo ejecutar un archivo helloworld.py simple desde la línea de comandos del shell de Python
Podemos ejecutar este archivo en Python3.7 Shell de la siguiente manera:
fuente
Hay una alternativa más (para Windows):
fuente
En una consola de Python, uno puede probar las siguientes 2 formas.
bajo el mismo directorio de trabajo,
1. >> importar helloworld
# si tiene una variable x , puede imprimirla en IDLE.
>> helloworld.x
# si tiene una función func , también puede llamarla así.
>> helloworld.func ()
2. >> runfile ("./ helloworld.py")
fuente