You are here:  Home » Python » rlcompleter-GNU readline的完成功能(17)Python语言(必读进阶学习教程)(参考资料)

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的 交互模式。除非使用该-S选项运行Python,否则 将自动导入和配置模块(请参阅Readline配置)。

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

完成对象

Completer对象具有以下方法:

Completer.complete文字状态
返回文本完成状态

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

如果要求使用虚线名称,它将尝试评估任何没有明显副作用的事物(函数将不会被评估,但它可以生成调用__getattr__())直到最后一部分,并通过dir()函数找到其余部分的匹配 。在表达式评估期间引发的任何异常都会被捕获,静默并None返回。