Je viens de commencer avec Python. Lorsque j'exécute un fichier de script python sous Windows, la fenêtre de sortie apparaît mais disparaît instantanément. J'en ai besoin pour y rester pour pouvoir analyser ma sortie. Comment puis-je le garder ouvert?
193
Réponses:
Vous avez quelques options:
Exécutez le programme à partir d'un terminal déjà ouvert. Ouvrez une invite de commande et tapez:
Pour que cela fonctionne, vous avez besoin de l'exécutable python dans votre chemin. Vérifiez simplement comment modifier les variables d'environnement sous Windows et ajoutez
C:\PYTHON26
(ou le répertoire dans lequel vous avez installé python).Lorsque le programme se termine, il vous ramènera à l' invite cmd au lieu de fermer la fenêtre.
Ajoutez du code pour attendre à la fin de votre script. Pour Python2, ajouter ...
... à la fin du script, il attend la Enterclé. Cette méthode est ennuyeuse car vous devez modifier le script et ne pas oublier de le supprimer lorsque vous avez terminé. Particulièrement ennuyeux lors du test des scripts d'autres personnes. Pour Python3, utilisez
input()
.Utilisez un éditeur qui s'arrête pour vous. Certains éditeurs préparés pour python se mettront automatiquement en pause après l'exécution. D'autres éditeurs vous permettent de configurer la ligne de commande qu'il utilise pour exécuter votre programme. Je trouve particulièrement utile de le configurer comme "
python -i myscript.py
" lors de l'exécution. Cela vous amène à un shell python après la fin du programme, avec l'environnement du programme chargé, vous pouvez donc continuer à jouer avec les variables et appeler des fonctions et des méthodes.la source
cmd /k
est le moyen typique d'ouvrir n'importe quelle application console (pas seulement Python) avec une fenêtre console qui restera après la fermeture de l'application. La façon la plus simple de le faire est d'appuyer sur Win + R, tapezcmd /k
puis faites glisser et déposez le script que vous souhaitez dans la boîte de dialogue Exécuter.la source
cmd /k
est Windows uniquement. Je ne peux pas vous aider avec une alternative Mac, désolé.Démarrez le script à partir de la fenêtre cmd déjà ouverte ou à la fin du script, ajoutez quelque chose comme ceci, dans Python 2:
Ou, en Python 3:
la source
Pour garder votre fenêtre ouverte en cas d'exception (encore, lors de l'impression de l'exception)
Python 2
Pour garder la fenêtre ouverte dans tous les cas:
Python 3
Pour Python3, vous devrez utiliser
input()
à la place deraw_input()
, et bien sûr adapter lesprint
instructions.Pour garder la fenêtre ouverte dans tous les cas:
la source
vous pouvez combiner les réponses avant: (pour Notepad ++ User)
appuyez sur F5 pour exécuter le script actuel et tapez la commande:
de cette façon, vous restez en mode interactif après avoir exécuté votre script python Notepad ++ et vous pouvez jouer avec vos variables et ainsi de suite :)
la source
Créez un fichier batch Windows avec ces 2 lignes:
la source
import os os.system("pause")
à la fin du.py
fichierraw_input
ou autres déchets sont tout simplement faux. Tapez votre commande sur la ligne de commande comme Python l'attend, ou utilisez le langage de traitement par lots fourni avec MS-DOS exactement à cette fin depuis août 1981 .python %*
et définissez-le comme l'un des programmes "ouvrir avec" afin que vous puissiez soit cliquer avec le bouton droit sur un fichier .py pour ouvrir une fenêtre en pause, soit le mettre également dans mon dossier Anaconda3 (dans PATH) en tant que py_pause.bat donc maintenant Je peux courir àpy_pause my-prog.py all my args
partir de la ligne cmdEn python 2, vous pouvez le faire avec: raw_input ()
En python 3, vous pouvez le faire avec: input ()
En outre, vous pouvez le faire avec time.sleep (time)
la source
En utilisant
atexit
, vous pouvez mettre le programme en pause dès sa sortie. Si une erreur / exception est la raison de la sortie, elle s'arrêtera après l'impression du stacktrace.Dans mon programme, j'ai mis l'appel
atexit.register
dans l'except
article, de sorte qu'il ne s'arrête qu'en cas de problème.la source
J'avais un problème similaire. Avec Notepad ++, j'avais l'habitude d'utiliser la commande:
C:\Python27\python.exe "$(FULL_CURRENT_PATH)"
qui fermait la fenêtre cmd immédiatement après la fin du code.Maintenant, j'utilise
cmd /k c:\Python27\python.exe "$(FULL_CURRENT_PATH)"
ce qui garde la fenêtre cmd ouverte.la source
Sur Python 3
Fera l'affaire.
la source
Pour simplement garder la fenêtre ouverte, je suis d'accord avec Anurag et c'est ce que j'ai fait pour garder mes fenêtres ouvertes pour de petits programmes de type calcul.
Cela afficherait simplement un curseur sans texte:
Cet exemple suivant vous donnerait un message clair indiquant que le programme est terminé et n'attend pas une autre invite d'entrée dans le programme:
Dans cet exemple suivant, j'utilise des guillemets doubles et cela ne fonctionnera pas car il pense qu'il y a une rupture entre les guillemets entre "la" et la "fonction" même si lorsque vous le lisez, votre propre esprit peut le comprendre parfaitement:
Espérons que cela aide d'autres personnes qui sont peut-être débutantes et qui n'ont toujours pas compris comment pense l'ordinateur. Cela peut prendre un certain temps. : o)
la source
Si vous souhaitez exécuter votre script à partir d'un raccourci sur le bureau, cliquez avec le bouton droit sur votre fichier python et sélectionnez
Send to|Desktop (create shortcut)
. Cliquez ensuite avec le bouton droit sur le raccourci et sélectionnez Propriétés. Dans l'onglet Raccourci, sélectionnez la zone de texte Cible: et ajoutezcmd /k
devant le chemin et cliquez sur OK. Le raccourci devrait maintenant exécuter votre script sans se fermer et vous n'avez pas besoin duinput('Hit enter to close')
Notez que si vous avez plus d'une version de python sur votre machine, ajoutez le nom de l'exécutable python requis entre cmd / k et le chemin scipt comme ceci:
la source
En dehors de
input
etraw_input
, vous pouvez également utiliser unewhile
boucle infinie , comme ceci:while True: pass
(Python 2.5 + / 3) ouwhile 1: pass
(toutes les versions de Python 2/3). Cela pourrait cependant utiliser la puissance de calcul.Vous pouvez également exécuter le programme à partir de la ligne de commande. Tapez
python
dans la ligne de commande (Terminal Mac OS X) et il devrait direPython 3.?.?
(Votre version de Python) Il n'affiche pas votre version de Python, ou ditpython: command not found
, regardez dans le changement des valeurs PATH (valeurs d'environnement, énumérées ci-dessus) / typeC:\(Python folder\python.exe
. Si cela réussit, tapezpython
ouC:\(Python installation)\python.exe
et le répertoire complet de votre programme.la source
Une réponse très tardive, mais j'ai créé un fichier Windows Batch appelé
pythonbat.bat
contenant les éléments suivants:puis spécifié
pythonbat.bat
comme gestionnaire par défaut pour les.py
fichiers.Maintenant, lorsque je double-clique sur un
.py
fichier dans l'Explorateur de fichiers, il ouvre une nouvelle fenêtre de console, exécute le script Python puis s'arrête (reste ouvert), jusqu'à ce que j'appuie sur une touche ...Aucune modification requise pour les scripts Python.
Je peux toujours ouvrir une fenêtre de console et spécifier
python myscript.py
si je veux ...(Je viens de remarquer que @maurizio a déjà posté cette réponse exacte)
la source
Si vous voulez garder cmd-window ouverte ET être dans le répertoire des fichiers en cours d'exécution, cela fonctionne sous Windows 10:
la source
J'ai trouvé que la solution sur mon environnement py3 à win10 est simplement d'exécuter cmd ou powershell en tant qu'administrateur, et la sortie resterait dans la même fenêtre de console, tout autre type de commande python exécutée par l'utilisateur entraînerait python d'ouvrir une nouvelle fenêtre de console.
la source
Tu peux juste écrire
à la fin de votre code
Par conséquent, lorsque vous exécutez votre script, il attendra que vous saisissiez quelque chose
la source
Vous pouvez ouvrir PowerShell et taper "python". Une fois Python importé, vous pouvez copier-coller le code source de votre éditeur de texte préféré pour exécuter le code.
La fenêtre ne se ferme pas.
la source
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
print "hello world"
python hello.py
la source
Un simple hack pour garder la fenêtre ouverte:
Le compteur est que le code ne se répète pas.
la source
Le moyen le plus simple:
cela laissera le code pendant 1 minute puis le fermera.
la source
Sur Windows 10, insérez au début ceci:
Étrange, mais ça marche pour moi! (Avec input () à la fin, bien sûr)
la source