Como executar o preenchimento automático de linha de comando python, mas NÃO apenas no início de uma string

Python, através de suas ligações de linha de leitura, permite um ótimo preenchimento automático da linha de comando (conforme descrito emaqui)

Mas, a conclusão parece funcionar apenas no início das strings. Se você deseja combinar o meio ou o final de uma linha de leitura de sequência, não funciona.

Gostaria de completar automaticamente as strings, em um programa python de linha de comando, combinando o que digito com qualquer uma das strings de uma lista de strings disponíveis.

Um bom exemplo do tipo de preenchimento automático que eu gostaria de ter é o tipo que acontece no GMail quando você digita no campo Para. Se você digitar o sobrenome de um de seus contatos, ele aparecerá tão bem quanto se você digitasse o nome dela.Pode ser necessário algum uso das setas para cima e para baixo ou algum outro método para selecionar as seqüências correspondentes (e não necessárias no caso da linha de leitura) e isso é bom no meu caso.Meu caso de uso específico é um programa de linha de comando que envia emails.Exemplos de código específicos seriam muito úteis.

Usar emuladores de terminal como maldições seria bom. Ele só precisa ser executado no Linux, não no Mac ou no Windows.

Aqui está um exemplo: Digamos que eu tenha as três seqüências a seguir em uma lista

['Paul Eden <[email protected]>', 
'Eden Jones <[email protected]>', 
'Somebody Else <[email protected]>']

Eu gostaria de um código que complete automaticamente os dois primeiros itens da lista depois de digitar 'Eden' e permita que eu escolha um deles (tudo através da linha de comando usando o teclado).

questionAnswers(1)

yourAnswerToTheQuestion