Acabo de comenzar con Python. Cuando ejecuto un archivo de script de Python en Windows, aparece la ventana de salida pero desaparece instantáneamente. Necesito que permanezca allí para poder analizar mi salida. ¿Cómo puedo mantenerlo abierto?
193
Respuestas:
Tienes pocas opciones:
Ejecute el programa desde una terminal ya abierta. Abra un símbolo del sistema y escriba:
Para que eso funcione, necesitas el ejecutable de Python en tu camino. Simplemente verifique cómo editar las variables de entorno en Windows y agregue
C:\PYTHON26
(o el directorio en el que instaló Python).Cuando finaliza el programa, lo regresará al indicador de cmd en lugar de cerrar la ventana.
Agregue código para esperar al final de su secuencia de comandos. Para Python2, agregando ...
... al final del script hace que espere la Enterclave. Ese método es molesto porque tiene que modificar el script y debe recordar eliminarlo cuando haya terminado. Especialmente molesto al probar los guiones de otras personas. Para Python3, use
input()
.Use un editor que haga una pausa por usted. Algunos editores preparados para python se detendrán automáticamente después de la ejecución. Otros editores le permiten configurar la línea de comandos que utiliza para ejecutar su programa. Me resulta particularmente útil configurarlo como "
python -i myscript.py
" cuando se ejecuta. Eso lo lleva a un shell de Python después del final del programa, con el entorno del programa cargado, por lo que puede seguir jugando con las variables y las funciones y métodos de llamada.fuente
cmd /k
es la forma típica de abrir cualquier aplicación de consola (no solo Python) con una ventana de consola que permanecerá después de que la aplicación se cierre. La forma más fácil en que puedo pensar en hacer eso es presionar Win + R, escribircmd /k
y luego arrastrar y soltar el script que desea en el cuadro de diálogo Ejecutar.fuente
cmd /k
es solo para Windows. No puedo ayudar con una alternativa para Mac, lo siento.Inicie el script desde la ventana cmd ya abierta o al final del script agregue algo como esto, en Python 2:
O, en Python 3:
fuente
Para mantener su ventana abierta en caso de excepción (aún, mientras imprime la excepción)
Python 2
Para mantener la ventana abierta en cualquier caso:
Python 3
Para Python3, tendrá que usar
input()
en lugar deraw_input()
y, por supuesto, adaptar lasprint
declaraciones.Para mantener la ventana abierta en cualquier caso:
fuente
puede combinar las respuestas antes: (para el usuario Notepad ++)
presione F5 para ejecutar el script actual y escriba el comando:
de esta manera, permanece en modo interactivo después de ejecutar su script de Python Notepad ++ y puede jugar con sus variables, etc. :)
fuente
Cree un archivo por lotes de Windows con estas 2 líneas:
fuente
import os os.system("pause")
al final del.py
archivoraw_input
o otro tipo de basura son simplemente erróneas. Escriba su comando en la línea de comando como Python espera que lo haga, o use el lenguaje por lotes que se ha proporcionado con MS-DOS para este propósito exactamente desde agosto de 1981 .python %*
úselo y configúrelo como uno de los programas "abrir con" para que pueda hacer clic derecho en un archivo .py para abrir una ventana de pausa o también lo coloque en mi carpeta Anaconda3 (en RUTA) como py_pause.bat, así que ahora Puedo correrpy_pause my-prog.py all my args
desde la línea cmdEn python 2 puedes hacerlo con: raw_input ()
En python 3 puedes hacerlo con: input ()
Además, puedes hacerlo con el time.sleep (time)
fuente
Utilizando
atexit
, puede pausar el programa justo cuando sale. Si un error / excepción es el motivo de la salida, se detendrá después de imprimir el stacktrace.En mi programa, puse la llamada
atexit.register
en laexcept
cláusula, de modo que solo se pausará si algo salió mal.fuente
Tuve un problema similar. Con Notepad ++ solía usar el comando:
C:\Python27\python.exe "$(FULL_CURRENT_PATH)"
que cerraba la ventana de cmd inmediatamente después de que terminaba el código.Ahora estoy usando lo
cmd /k c:\Python27\python.exe "$(FULL_CURRENT_PATH)"
que mantiene abierta la ventana cmd.fuente
En Python 3
Hará el truco.
fuente
Para mantener la ventana abierta, estoy de acuerdo con Anurag y esto es lo que hice para mantener mis ventanas abiertas para pequeños programas de tipo de cálculo.
Esto solo mostraría un cursor sin texto:
El siguiente ejemplo le daría un mensaje claro de que el programa ha terminado y no espera otra solicitud de entrada dentro del programa:
En el siguiente ejemplo, uso comillas dobles y no funcionará porque cree que hay una ruptura en las comillas entre "la" y "función", aunque cuando lo lees, tu propia mente puede entenderlo perfectamente:
Esperemos que esto ayude a otros que podrían estar comenzando y aún no han descubierto cómo piensa la computadora todavía. Puede tomar un tiempo : o)
fuente
Si desea ejecutar su script desde un acceso directo de escritorio, haga clic derecho en su archivo de Python y seleccione
Send to|Desktop (create shortcut)
. Luego haga clic derecho en el acceso directo y seleccione Propiedades. En la pestaña Acceso directo, seleccione el cuadro de texto Destino: y agreguecmd /k
delante de la ruta y haga clic en Aceptar. El acceso directo ahora debe ejecutar su script sin cerrar y no necesita elinput('Hit enter to close')
Tenga en cuenta que si tiene más de una versión de python en su máquina, agregue el nombre del ejecutable de python requerido entre cmd / k y la ruta scipt de esta manera:
fuente
Además de
input
yraw_input
, también puede usar unwhile
bucle infinito , como este:while True: pass
(Python 2.5 + / 3) owhile 1: pass
(todas las versiones de Python 2/3). Sin embargo, esto podría usar potencia informática.También puede ejecutar el programa desde la línea de comandos. Escriba
python
en la línea de comando (Mac OS X Terminal) y debería decirPython 3.?.?
(Su versión de Python). No muestra su versión de Python, o dicepython: command not found
, busque cambiar los valores de RUTA (valores ambientales, enumerados anteriormente) / tipoC:\(Python folder\python.exe
. Si eso es exitoso, escribapython
oC:\(Python installation)\python.exe
y el directorio completo de su programa.fuente
Una respuesta muy tardía, pero creé un archivo Batch de Windows llamado que
pythonbat.bat
contiene lo siguiente:y luego se especifica
pythonbat.bat
como el controlador predeterminado para los.py
archivos.Ahora, cuando hago doble clic en un
.py
archivo en el Explorador de archivos, se abre una nueva ventana de consola, ejecuta el script Python y luego se detiene (permanece abierto), hasta que presiono cualquier tecla ...No se requieren cambios en ningún script de Python.
Todavía puedo abrir una ventana de consola y especificar
python myscript.py
si quiero ...(Acabo de notar que @maurizio ya publicó esta respuesta exacta)
fuente
Si desea mantener la ventana cmd abierta Y estar en el directorio de archivos en ejecución, esto funciona en Windows 10:
fuente
Encontré que la solución en mi entorno py3 en win10 es simplemente ejecutar cmd o powershell como Administrador, y la salida se mantendría en la misma ventana de consola, cualquier otro tipo de comando python ejecutado por el usuario haría que python abriera una nueva ventana de consola.
fuente
Solo puedes escribir
al final de tu código
por lo tanto, cuando ejecute su script, esperará a que ingrese algo
fuente
Puede abrir PowerShell y escribir "python". Después de importar Python, puede copiar y pegar el código fuente de su editor de texto favorito para ejecutar el código.
La ventana no se cierra.
fuente
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
print "hello world"
python hello.py
fuente
Un simple truco para mantener la ventana abierta:
El contador es para que el código no se repita.
fuente
La forma más simple:
esto dejará el código activo durante 1 minuto y luego ciérrelo.
fuente
En Windows 10, inserte al principio esto:
¡Extraño, pero funciona para mí! (Junto con input () al final, por supuesto)
fuente