# `rlcompleter` — Función de completado para GNU readline

Código fuente: Lib/rlcompleter.py

El módulo `rlcompleter` define una función de completado adecuada para el módulo `readline` completando los identificadores y las palabras clave de Python válidas.

Cuando este módulo es importado en una plataforma Unix con el módulo `readline` disponible, una instancia de la clase `Completer` es automáticamente creada y su método `complete()` es fijado como el método de completado de `readline`.

Ejemplo:

    >>> import rlcompleter
    >>> import readline
    >>> readline.parse_and_bind("tab: complete")
    >>> readline. <TAB PRESSED>
    readline.__doc__          readline.get_line_buffer(  readline.read_init_file(
    readline.__file__         readline.insert_text(      readline.set_completer(
    readline.__name__         readline.parse_and_bind(
    >>> readline.

El módulo `rlcompleter` está diseñado para usarse con el modo interactivo de Python. A menos que Python sea ejecutado con la opción `-S`, el módulo es automáticamente importado y configurado (ver Configuración de Readline).

En plataformas sin `readline`, la clase `Completer` definida por este módulo puede ser usada igualmente para fines personalizados.

## Objetos de Completado

Los objetos de completado tienen el siguiente método:

`Completer.``complete`(text, state)

  Retorna el completado nº state para text.

  Si es invocado para text que no incluye un caracter de punto (`'.'`), este completará con nombres actualmente definidos en `__main__`, `builtins` y las palabras clave (tal y como están definidas en el módulo `keyword`).

  Si es invocado para un nombre con punto, este tratará de evaluar cualquier cosa sin efectos secundarios obvios (las funciones no serán evaluadas, pero puede generar invocaciones a `__getattr__()`) hasta la última parte, y encontrar coincidencias para el resto mediante la función `dir()`, Cualquier excepción ocurrida durante la evaluación de la expresión es cazada, silenciada y se retorna `None`.