Сообщить об ошибке.

Определение функции завершения для модуля readline

Модуль rlcompleter определяет функцию завершения, подходящую для модуля readline, путем заполнения действительных идентификаторов и ключевых слов Python.

Когда модуль rlcompleter импортируется на платформу Unix с доступным модулем readline, автоматически создается экземпляр класса rlcompleter.Completer, а его метод Completer.complete() устанавливается как завершитель readline.

Примеры использования модуля rlcompleter:

>>> 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, определенный этим модулем rlcompleter, по-прежнему можно использовать для специальных целей.

Объект Completer.

Объект Completer определяет единственный метод.

Completer.complete(text, state):

Метод Completer.complete() возвращает состояние state для текста text.

Если вызывается для текста text, не содержащего символа точки '.', то текст будет завершен из имен, в настоящее время определенных в __main__, встроенных builtins объектах и ключевых словах (как определено модулем keyword).

При вызове имени, разделенного точками, метод Completer.complete() будет пытаться оценить что-либо без очевидных побочных эффектов (функции не будут оцениваться, но он может генерировать вызовы __getattr__()) вплоть до последней части и находить совпадения для остальных с помощью функции dir(). Любое исключение, возникшее во время вычисления выражения, перехватывается, глушится и возвращается None.