Unix readline模块具有制表符完成机制。要获得这些功能,我们必须使用rlcompleter模块。它可以在python的交互模式下使用。
要使用此模块,我们应该使用-导入它
import rlcompleter
有一个名为Completer类的类-
此方法用于返回制表符完成输出。如果有“。” 在文本中,那么它将尝试获取该命令的所有相关成员。当没有点“。”时。它将完成文本。
import rlcompleter import sys my_completer = rlcompleter.Completer() phrase_list = ['co', 'sys.m', 'cal'] for phrase in phrase_list: print(phrase + ' (TAB): ', end='') try: for i in range(50): terms = my_completer.complete(phrase, i) if terms is None: break print(terms, end='\t') except: pass print()
输出结果
$ python3 example.py co (TAB): continue compile( complex( copyright( sys.m (TAB): sys.maxsize sys.maxunicode sys.meta_path sys.modules cal (TAB): callable(