Module readline của Unix có cơ chế hoàn thành tab (tab completion). Để có tính năng này, ta phải dùng module rlcompleter. Nó có thể dùng trong chế độ tương tác (interactive mode) của Python.
Để dùng module này, nên nhập bằng:
import rlcompleter
Có một lớp gọi là Completer class:
Phương thức Completer.complete(text, state)
Trả về đầu ra hoàn thành tab. Nếu có dấu '.' trong text, nó sẽ cố gắng lấy tất cả các thành viên liên quan của lệnh đó. Khi không có dấu '.', nó chỉ hoàn thành văn bản.
Mã ví dụ
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()
Kết quả
$ python3 example.py co (TAB): continue compile( complex( copyright( sys.m (TAB): sys.maxsize sys.maxunicode sys.meta_path sys.modules cal (TAB): callable(