rlcompleter — Функция дополнения для GNU readline
Исходный код: Lib/rlcompleter.py
Модуль rlcompleter определяет функцию дополнения, подходящую для модуля readline, путем завершения допустимых идентификаторов и ключевых слов Python.
При импорте этого модуля на платформе Unix с доступным модулем readline, автоматически создается экземпляр класса Completer и его метод complete() устанавливается в качестве дополнителя readline.
Пример:
>>> 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.
Модуль rlcompleter предназначен для использования с интерактивным режимом Python. Если Python не запускается с опцией -S, модуль автоматически импортируется и настраивается (см. Настройка Readline).
На платформах без readline, класс Completer этого модуля все еще может использоваться для пользовательских целей.
Объекты Completer
Объекты Completer имеют следующий метод:
-
Completer.complete(text, state) -
Возвращает state-ое завершение для text.
Если вызывается для text, не содержащего символа точки (
'.'), оно будет дополнять имена, определённые в__main__,builtinsи ключевые слова (как определено модулемkeyword).Если вызывается для имени с точкой, оно попытается оценить все, что не имеет явных побочных эффектов (функции не будут вычислены, но могут быть вызваны
__getattr__()) до последней части, и найти соответствия для остальной части с помощью функцииdir(). Любое исключение, возникающее во время вычисления выражения, перехватывается, подавляется, и возвращаетсяNone.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/rlcompleter.html