rlcompleter
— 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
readline
module, 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 andNone
is returned.