Comment puis-je obtenir la tabulation dans l'interpréteur interactif Python?


14

J'utilise souvent l'interpréteur interactif de Python 3000, mais il manque la commodité de la tabulation à laquelle je suis habitué depuis ipython, qui n'est pas disponible pour Python 3.x.

Comment puis-je activer la complétion des onglets dans chacun d'eux, 2.6 et 3.x?

Réponses:


17

Créez d'abord un nouveau fichier appelé .pythonstartup.pydans votre répertoire personnel. Mettez-y le script suivant:

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

Les parenthèses autour de la chaîne garantissent qu'elle fonctionne avec Python 2 et Python 3.

Chaque fois que l'interpréteur interactif est démarré, il exécute un script défini dans $PYTHONSTARTUP, s'il y en a un. Pour le configurer pour exécuter le script ci-dessus, tapez

export PYTHONSTARTUP="~/.pythonstartup.py"

Vous devez écrire cette ligne dans votre fichier .bashrcou.bash_profile , afin qu'elle soit automatiquement exécutée lors du démarrage d'un nouveau shell.


6
AVIS: cela ne fonctionnera pas si vous démarrez le terminal puis changez de répertoire. Si vous voulez que cette méthode fonctionne quel que soit le répertoire dans export PYTHONSTARTUP="/home/user/.pythonstartup.py"
lequel

1
Vous pouvez rendre l'exportation un peu plus tolérante en exportantPYTHONSTARTUP=~/.pythonstartup.py
Mikael Fremling

Cela ne fonctionne pas si vous démarrez un fichier en mode interactif, par exemple python -i main.py. Une façon de faire ça?
Chris Anderson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.