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")
在没有的平台上readline
,Completer
此模块定义的类仍可用于自定义目的。
1.完成对象
Completer对象具有以下方法:
Completer.complete(text, state)
返回_text
的state_th完成
。
如果要求的文本
不包括一段字符('.'
),它将完成从当前定义的名称__main__
,__builtin__
(由定义和关键字keyword
模块)。
如果调用一个虚线名称,它将尝试评估任何没有明显副作用(函数不会被评估,但可以生成调用__getattr__()
)的东西,直到最后一部分,并通过该dir()
函数查找其余部分的匹配。表达式评估过程中发生的任何异常都会被捕获,静音并None
返回。