42 votes

Comment empêcher python.exe de se fermer immédiatement après avoir obtenu une sortie ?

Existe-t-il un moyen d'empêcher python.exe de se fermer immédiatement après son exécution ? Il se ferme plus rapidement que je ne peux lire la sortie.

Voici le programme :

width = float(input("Enter the width: "))
height = float(input("Enter the height: "))
area = width * height
print("The area is", area, "square units.")

55voto

Vous ne pouvez pas - globalement, c'est-à-dire pour chaque programme python. Et c'est une bonne chose - Python est parfait pour les scripts (automatiser des choses), et les scripts devraient pouvoir s'exécuter sans aucune interaction de l'utilisateur.

Cependant, vous pouvez toujours demander une entrée à la fin de votre programme, ce qui permet de maintenir le programme en vie jusqu'à ce que vous appuyiez sur la touche retour. Pour cela, il faut utiliser input("prompt: ") en Python 3 (o raw_input("promt: ") dans Python 2). Vous pouvez aussi vous habituer à exécuter vos programmes à partir de la ligne de commande (c'est-à-dire python mine.py ), le programme se termine mais sa sortie reste visible.

16voto

kranthi kumar Points 161

Il suffit de déclarer une variable comme k o m ou tout autre que vous voulez, ajoutez maintenant ce bout de code à la fin de votre programme

k=input("press close to exit") 

Ici, j'ai simplement supposé que k comme variable pour mettre le programme en pause, vous pouvez utiliser n'importe quelle variable.

11voto

sarasimple Points 177

Pour les environnements Windows :

Si vous ne voulez pas aller à l'invite de commande (ou si vous travaillez dans un environnement où l'invite de commande est restreinte), je pense que la solution suivante est meilleure que d'insérer du code dans Python qui vous demande d'appuyer sur n'importe quelle touche - parce que si le programme se plante avant d'atteindre ce point, la fenêtre se ferme et vous perdez l'information sur le plantage. La solution que j'utilise consiste à créer un fichier bat.

Utilisez le bloc-notes pour créer un fichier texte. Dans le fichier, le contenu ressemblera à quelque chose comme :

my_python_program.py
pause

Sauvegardez ensuite le fichier sous le nom de "my_python_program.bat"

Lorsque vous exécutez le fichier bat, il lance le programme python et fait une pause à la fin pour vous permettre de lire la sortie. Ensuite, si vous appuyez sur n'importe quelle touche, la fenêtre se fermera.

7voto

msw Points 25319

Réponse auxiliaire

La réponse de Manoj Govindan est correcte mais j'ai vu ce commentaire :

Exécutez-le à partir du terminal.

Je me suis demandé pourquoi cela n'était pas évident pour les utilisateurs de Windows et j'ai réalisé que c'était parce que CMD.EXE est une si mauvaise excuse pour un shell avec lequel il devrait commencer :

Interprète de commandes Windows copyright 1999 Microsoft
Mein Gott ! Quoi que vous fassiez, n'utilisez pas ceci !
C:>

Ce qui m'amène à pointer du doigt https://stackoverflow.com/questions/913912/bash-shell-for-Windows

5voto

Manoj Govindan Points 24030

Il semble que vous exécutiez quelque chose dans Windows en double-cliquant dessus. Le programme est alors exécuté dans une nouvelle fenêtre et la fenêtre est fermée lorsqu'il se termine. Il n'est pas étonnant que vous ne puissiez pas lire la sortie.

Une meilleure façon de procéder serait de passer à l'invite de commande. Naviguez ( cd ) dans le répertoire où se trouve le programme et l'appeler en utilisant python . Voici ce qu'il en est :

C:\> cd C:\my_programs\
C:\my_programs\> python area.py

Remplacer my_programs avec l'emplacement réel de votre programme et area.py avec le nom de votre fichier python.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X