Completação por tab no shell interativo

Algo muito útil para quando estamos testando e estudando código Python, é termos um shell interativo que nos forneça completação de nomes de funções/atributos dos módulos/tipos disponíveis em Python. Qual a utilidade disso?

  1. Possibilita que lembremos daquela funçãozinha cujo nome esquecemos por falta de prática
  2. Auxilia no estudo, pois é possível conhecermos novas funções existentes nos módulos fornecidos juntamente com o Python, que muitas vezes facilitam várias tarefas em nossos programas

Bom, vamos ao que interessa. Abra em seu editor de textos o arquivo /home/nome_usuário/.pythonrc e cole o seguinte conteúdo dentro deste arquivo. Caso o arquivo não exista, não hesite em criá-lo!

import readline, rlcompleter
readline.parse_and_bind('tab: complete')
del readline, rlcompleter

Por fim, é necessário que você configure sua variável de ambiente PYTHONSTARTUP para possuir como valor o caminho do arquivo .pythonrc. Para isso, coloque em seu arquivo .bashrc o seguinte comando:

export PYTHONSTARTUP=~/.pythonrc

Após isso, abra um shell interativo python e faça um teste (<TAB> significa que você deve pressionar a tecla tab do seu teclado):

import string
string.<TAB><TAB>

Pronto, o shell Python deverá lhe mostrar várias opções de funções disponíveis no módulo string. A Figura 1 apresenta o shell python oferecendo opções de completação para o módulo atexit.

Completação no Shell Python

Figura 1. Completação no Shell Python