Python 在 GNU readline 中的补全函数


Unix readline 模块具有制表符补全机制。要获得这些特性,我们必须使用 rlcompleter 模块。它可以在 Python 的交互模式下使用。

要使用此模块,我们应该使用以下方法导入它 −

import rlcompleter

有一个类称为 Completer 类 −

方法 Completer.complete(text, state)

此方法用于返回标签补全输出。如果文本中有‘.’,则它会尝试获取该命令的所有相关成员。如果没有句点‘。’,它将完成文本。

示例代码

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(

更新时间: 30-7-2019

303 次浏览

开启您的职业

完成本课程以获得认证

开始
广告
© . All rights reserved.