Moyen correct de mettre en pause le programme Python

J’ai utilisé la fonction d’entrée pour mettre mes scripts en pause

print("something") wait = input("PRESS ENTER TO CONTINUE.") print("something") 

existe-t-il une façon formelle de le faire?

raw_input() me semble bien (ou raw_input() dans Python 2.X). Sinon, vous pouvez utiliser time.sleep() si vous souhaitez faire une pause pendant un certain nombre de secondes.

 import time print("something") time.sleep(5.5) # pause 5.5 seconds print("something") 

utilisation:

 import os os.system("pause") 

Je suppose que vous voulez faire une pause sans saisie

Utilisation

time.sleep (secs)

Donc, j’ai trouvé que cela fonctionnait très bien dans mes efforts de codage. J’ai simplement créé une fonction au tout début de mon programme,

 def pause(): programPause = raw_input("Press the  key to continue...") 

et maintenant je peux utiliser la fonction pause() chaque fois que j’en ai besoin, comme si j’écrivais un fichier de commandes. Par exemple , dans un programme tel que celui-ci:

 import os import system def pause(): programPause = raw_input("Press the  key to continue...") print("Think about what you ate for dinner last night...") pause() 

Maintenant, évidemment, ce programme n’a pas d’objective et n’est donné qu’à titre d’exemple, mais vous pouvez comprendre précisément ce que je veux dire.

REMARQUE: pour Python 3, vous devrez utiliser des input plutôt que des raw_input

Très simple:

 raw_input("Press Enter to continue ...") exit() 

J’ai eu une question similaire et j’utilisais le signal:

 import signal def signal_handler(signal_number, frame): print "Proceed ..." signal.signal(signal.SIGINT, signal_handler) signal.pause() 

Donc, vous enregistrez un gestionnaire pour le signal SIGINT et faites une pause en attendant tout signal. Maintenant, en dehors de votre programme (par exemple en bash), vous pouvez lancer kill -2 , qui enverra le signal 2 (ie SIGINT) à votre programme python. Votre programme appellera votre gestionnaire enregistré et continuera son exécution.

Comme le soulignent les commentaires de mhawke et steveha , la meilleure réponse à cette question exacte serait:

Pour un long bloc de texte, il est préférable d’utiliser input('Press to continue') (ou raw_input('Press to continue') sur Python 2.x) pour inviter l’utilisateur, plutôt qu’un temporisation. Les lecteurs rapides ne voudront pas attendre un délai, les lecteurs lents voudront peut-être avoir plus de temps, quelqu’un pourra être interrompu en le lisant et voudra beaucoup plus de temps, etc. En outre, si quelqu’un utilise beaucoup le programme, il / elle peut s’habituer à son fonctionnement et ne pas avoir besoin de lire le long texte. Il est plus simple de laisser l’utilisateur contrôler la durée d’affichage du bloc de texte.

J’utilise les éléments suivants pour python 2 et 3 pour interrompre l’exécution du code jusqu’à ce que l’utilisateur appuie sur ENTRÉE

 import six if six.PY2: raw_input("Press the  key to continue...") else: input("Press the  key to continue...") 
 Print ("This is how you pause") input() 

Je pense que la meilleure façon d’arrêter l’exécution est la fonction time.sleep (). Si vous ne devez suspendre l’exécution que dans certains cas, vous pouvez simplement implémenter une instruction if comme ceci:

 if somethinghappen: time.sleep(seconds) 

vous pouvez laisser la twig else vide.