Python 3.6.5 Documentation >  "rlcompleter" — Completion function for GNU readline

"rlcompleter" — Completion function for GNU readline
****************************************************

**Source code:** Lib/rlcompleter.py

======================================================================

The "rlcompleter" module defines a completion function suitable for
the "readline" module by completing valid Python identifiers and
keywords.

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.

Example:

>>> 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 Readline configuration).

On platforms without "readline", the "Completer" class defined by this
module can still be used for custom purposes.


Completer Objects
=================

Completer objects have the following method:

Completer.complete(text, state)

Return the *state*th completion for *text*.

If called for *text* that doesn’t include a period character
("'.'"), it will complete from names currently defined in
"__main__", "builtins" and keywords (as defined by the "keyword"
module).

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 "None" is returned.