rlcompleter
— 用于 GNU Readline 的补全函数
¶
源代码: Lib/rlcompleter.py
rlcompleter
模块定义的补全函数适于
readline
模块,通过补全有效 Python 标识符和关键词。
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()
方法会被设为
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
module is designed for use with Python’s
交互模式
. Unless Python is run with the
-S
option, the module is automatically imported and configured (see
Readline 配置
).
On platforms without
readline
,
Completer
类 (由本模块定义) 仍可用于自定义目的。
补全器对象具有下列方法:
Completer.
complete
(
text
,
state
)
¶
返回 state th completion for text .
If called for
text
that doesn’t include a period character (
'.'
), it will complete from names currently defined in
__main__
,
builtins
and keywords (as defined by the
keyword
module).
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 the
dir()
function. Any exception raised during the evaluation of the expression is caught, silenced and
None
被返回。