Spec-Zone.ru › Python 3.9

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–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/library/rlcompleter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API