ইউনিক্স readline মডিউলে ট্যাব কমপ্লিশন মেকানিজম রয়েছে। এই ফিচারগুলো পেতে হলে, আমাদের rlcompleter মডিউল ব্যবহার করতে হবে। এটি পাইথনের ইন্টারেক্টিভ মোডে ব্যবহার করা যায়।
এই মডিউল ব্যবহার করতে হলে, আমাদের এটি ইম্পোর্ট করতে হবে -
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(