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ódulokeyword
).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óndir()
, Cualquier excepción ocurrida durante la evaluación de la expresión es cazada, silenciada y se retornaNone
.