rlcompleter

rlcompleter - GNU readline的完成函数

源代码: Lib / rlcompleter.py

rlcompleter模块readline通过完成有效的Python标识符和关键字来定义适合该模块的完成功能。

当该模块在具有readline可用模块的Unix平台上导入时,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的交互模式。用户可以将以下行添加到他或她的初始化文件(由PYTHONSTARTUP环境变量标识)以自动Tab完成:

try: import readline except ImportError: print "Module readline not available." else: import rlcompleter readline.parse_and_bind("tab: complete")

在没有的平台上readlineCompleter此模块定义的类仍可用于自定义目的。

1.完成对象

Completer对象具有以下方法:

Completer.complete(text, state)

返回_textstate_th完成

如果要求的文本不包括一段字符('.'),它将完成从当前定义的名称__main____builtin__(由定义和关键字keyword模块)。

如果调用一个虚线名称,它将尝试评估任何没有明显副作用(函数不会被评估,但可以生成调用__getattr__())的东西,直到最后一部分,并通过该dir()函数查找其余部分的匹配。表达式评估过程中发生的任何异常都会被捕获,静音并None返回。