rlcompleter — Completion function for GNU readline¶
Código fuente: Lib/rlcompleter.py
The rlcompleter module defines a completion function suitable to be
passed to set_completer() in the readline module.
When this module is imported on a Unix platform with the readline module
available, an instance of the Completer class is automatically created
and its complete() method is set as the
readline completer. The method provides
completion of valid Python identifiers and keywords.
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.
The rlcompleter module is designed for use with Python’s
interactive mode.  Unless Python is run with the
-S option, the module is automatically imported and configured
(see Configuración de Readline).
En plataformas sin readline, la clase Completer definida por este módulo puede ser usada igualmente para fines personalizados.
- class rlcompleter.Completer¶
- Los objetos de completado tienen el siguiente método: - complete(text, state)¶
- Return the next possible completion for text. - When called by the - readlinemodule, this method is called successively with- state == 0, 1, 2, ...until the method returns- None.- Si es invocado para text que no incluye un caracter de punto ( - '.'), este completará con nombres actualmente definidos en- __main__,- builtinsy las palabras clave (tal y como están definidas en el módulo- keyword).- If called for a dotted name, it will try to evaluate anything without obvious side-effects (functions will not be evaluated, but it can generate calls to - __getattr__()) up to the last part, and find matches for the rest via the- dir()function. Any exception raised during the evaluation of the expression is caught, silenced and- Noneis returned.