rlcompleter — Completion function for GNU readline¶
Вихідний код: 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.
Приклад:
>>> 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).
На платформах без readline клас Completer, визначений цим модулем, усе ще можна використовувати для спеціальних цілей.
Completer Objects¶
Повні об’єкти мають такий метод:
-
Completer.complete(text, state)¶ Return the stateth completion for text.
Якщо викликати текст, який не містить символ крапки (
'.''), він завершуватиметься іменами, визначеними в__main__,builtinsта ключовими словами (як визначено) за допомогою модуля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 thedir()function. Any exception raised during the evaluation of the expression is caught, silenced andNoneis returned.