rlcompleter — Completion function for GNU readline¶
소스 코드: Lib/rlcompleter.py
The rlcompleter module defines a completion function suitable to be
passed to set_completer() in the readline module.
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. The method provides
completion of valid Python identifiers and keywords.
예제:
>>> 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 클래스는 여전히 사용자 정의 목적에 사용될 수 있습니다.
- class rlcompleter.Completer¶
Completer 객체는 다음과 같은 메서드를 가집니다:
- complete(text, state)¶
Return the next possible completion for text.
When called by the
readlinemodule, this method is called successively withstate == 0, 1, 2, ...until the method returnsNone.마침표(
'.')가 포함되지 않은 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.