228 votes

La façon correcte de mettre en pause un programme Python

J'ai utilisé la fonction d'entrée comme un moyen de mettre mes scripts en pause.

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

existe-t-il un moyen formel de le faire ?

3 votes

Travailler dans un débogueur et utiliser des points d'arrêt ?

8voto

1byanymeans Points 75
Print ("This is how you pause")

input()

0 votes

Cela semble donner lieu à une erreur : NameError: name 'Print' is not defined

0 votes

@PeterMortensen Cela est dû à l'espace vide entre "Print" et "("This is how you pause")".

1 votes

Python est sensible à la casse, donc les minuscules print est nécessaire pour appeler la fonction. Vous pouvez même conserver l'espace entre le nom de la fonction et la parenthèse ouvrante sans obtenir une erreur.

8voto

Adewole Adesola Points 121

J'utilise ce qui suit pour Python 2 et Python 3 afin de suspendre l'exécution du code jusqu'à ce que l'utilisateur appuie sur la touche Enter

import six

if six.PY2:
    raw_input("Press the <Enter> key to continue...")
else:
    input("Press the <Enter> key to continue...")

7voto

ntg Points 498

Comme l'a souligné mhawke et steveha La meilleure réponse à cette question est la suivante :

Pour un long bloc de texte, il est préférable d'utiliser input('Press <ENTER> to continue') (ou raw_input('Press <ENTER> to continue') sur Python 2.x) pour inviter l'utilisateur, plutôt qu'un délai. Les lecteurs rapides ne voudront pas attendre un délai, les lecteurs lents pourraient vouloir plus de temps sur le délai, quelqu'un pourrait être interrompu pendant la lecture et vouloir un délai plus long. le délai, quelqu'un pourrait être interrompu pendant la lecture et vouloir un beaucoup plus de temps, etc. De plus, si quelqu'un utilise souvent le programme, il peut s'habituer à son fonctionnement et à la façon dont il fonctionne. peut s'habituer à son fonctionnement et ne plus avoir besoin de lire le long texte. texte. Il est simplement plus convivial de laisser l'utilisateur contrôler la durée d'affichage du bloc de texte pour la lecture. de texte est affiché pour la lecture.

5voto

Bu Saeed Points 715

Très simple :

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

1 votes

J'ai utilisé cette méthode un peu, mais j'aime aussi l'utiliser comme une fonction pause() et je ne pense pas qu'il y ait besoin de exit(). def pause() : return raw_input("Press Enter to continue ...")

0 votes

NameError: name 'raw_input' is not defined

3voto

Grâce à cette méthode, vous pouvez reprendre votre programme en appuyant simplement sur n'importe quelle touche que vous avez spécifiée :

import keyboard
while True:
    key = keyboard.read_key()
    if key == 'space':  # You can put any key you like instead of 'space'
        break

La même méthode, mais d'une autre manière :

import keyboard
while True:
    if keyboard.is_pressed('space'):  # The same. you can put any key you like instead of 'space'
        break

Remarque : vous pouvez installer le keyboard en écrivant simplement ceci dans votre shell ou cmd :

pip install keyboard

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