Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชัน Python Completion สำหรับ GNU readline


โมดูล Unix readline มีกลไกการเติมแท็บให้สมบูรณ์ เพื่อให้ได้คุณสมบัติเหล่านี้ เราต้องใช้โมดูล rlcompleter สามารถใช้ในโหมดโต้ตอบของหลาม

ในการใช้โมดูลนี้ เราควรนำเข้าโดยใช้ −

นำเข้า rlcompleter

มีคลาสที่เรียกว่า Completer class -

วิธีการ Completer.complete(ข้อความ สถานะ)

วิธีนี้ใช้เพื่อส่งคืนผลลัพธ์การเสร็จสิ้นแท็บ หากมี '.' ในข้อความ จะพยายามหาสมาชิกที่เกี่ยวข้องทั้งหมดของคำสั่งนั้น เมื่อไม่มีจุด '.' ก็จะทำให้ข้อความสมบูรณ์

โค้ดตัวอย่าง

import rlcompleterimport sysmy_completer =rlcompleter.Completer()phrase_list =['co', 'sys.m', 'cal']สำหรับวลีใน phrase_list:print(phrase + ' (TAB):', end='') ลอง:   สำหรับฉันอยู่ในช่วง (50):      Terms =my_completer.complete(phrase, i)         if Terms is none:         break            print(terms, end='\t')    ยกเว้น:    pass >  print()
ผลลัพธ์
$ python3 example.pyco (TAB):ดำเนินการต่อ    คอมไพล์( complex(  copyright( sys.m (TAB):sys.maxsize    sys.maxunicode sys.meta_path    sys.modules cal (TAB):callable(