Pourquoi les flèches haut et bas ne fonctionnent-elles pas dans l’interpréteur de ligne de commande Python?

J’utilise un émulateur de terminal VT100 sous Linux. En bash, les flèches haut et bas font défiler les dernières commandes exécutées; ils travaillent comme prévu.

Les commandes précédentes (flèche haut) et suivantes (flèche bas) ne sont pas interprétées dans l’interpréteur de ligne de commande Python. De quel type de mappage de clés ai-je besoin pour que cela fonctionne?

Je vous remercie.

Je pense que j’ai trouvé la réponse, en supposant que vous avez la bibliothèque GNU Readline. (Cela signifie que je me suis partiellement trompé sur l’implémentation de base utilisant une interface de type Unix, car cela ne le fait que lorsque GNU Readline [ou un port, je suppose] n’est pas disponible.)

http://docs.python.org/tutorial/interactive.html#history-substitution

La substitution de l’histoire fonctionne comme suit. Toutes les lignes d’entrée non vides émises sont enregistrées dans un tampon d’historique et lorsqu’une nouvelle invite est fournie, vous êtes positionné sur une nouvelle ligne au bas de ce tampon. CP déplace une ligne (retour) dans le tampon historique, le CN déplace une. Toute ligne du tampon d’historique peut être modifiée. un astérisque apparaît devant l’invite pour marquer une ligne modifiée. Appuyez sur la touche Retour pour transmettre la ligne actuelle à l’interpréteur. CR lance une recherche inverse incrémentielle; CS lance une recherche avancée.

Par défaut, les keymappings sont les suivants:

  • plus ancien: alt-p
  • plus récent: alt-n

Vous pouvez le changer dans Options -> Configure IDLE -> Keys -> "history-previous" et "history-next" respectivement.