Estoy usando el indicador de Python para practicar algunas expresiones regulares. Me preguntaba si había una manera de usar las flechas arriba / abajo (como bash) para recorrer los viejos comandos escritos. Sé que es posible ya que funciona en Python en Cygwin / Windows. Gracias

2
Pradyot 18 nov. 2009 a las 23:27

4 respuestas

La mejor respuesta

Utilice el rlcompleter para obtener tanto la línea de lectura como la finalización.

Código de muestra PYTHONSTARTUP:

try:
  import readline
except ImportError:
  print "Module readline unavailable."
else:
  import rlcompleter
  readline.parse_and_bind("tab: complete")

Código de muestra .bashrc para configurar su archivo de inicio de Python:

if [ -f ~/.pythonstartup.py ]
then
  export PYTHONSTARTUP=~/.pythonstartup.py
fi
7
Roger PateRoger Pate 18 nov. 2009 a las 20:30

Además de compilar con readline habilitado como se sugiere en otra respuesta, también puede usar rlrwrap para agregar readline en tiempo de ejecución, incluso si no se cumplió; al igual que:

rlwrap python
6
Benji York 19 nov. 2009 a las 01:10

Si compila Python con soporte de línea de lectura, el entorno REPL debería hacer esto por usted.

6
Corey Porter 18 nov. 2009 a las 20:30

Desea ipython.

6
Jonathan Feinberg 18 nov. 2009 a las 20:29