rlcompleter --- تابع تکمیل برای GNU readline¶
کد منبع: Lib/rlcompleter.py
ماژول rlcompleter یک تابع تکمیل مناسب برای ارسال به set_completer() در ماژول readline تعریف میکند.
هنگامی که این ماژول در یک سکوی یونیکسی که ماژول readline در آن در دسترس باشد ایمپورت شود، نمونهای از کلاس Completer بهطور خودکار ایجاد میشود و متد complete() آن بهعنوان تکمیلکننده readline تنظیم میشود. این متد امکان تکمیل شناسهها و کلیدواژههای معتبر پایتون را فراهم میکند.
مثال:
>>> import rlcompleter
>>> import readline
>>> readline.parse_and_bind("tab: complete")
>>> readline. <TAB PRESSED>
readline.__doc__ readline.get_line_buffer( readline.read_init_file(
readline.__file__ readline.insert_text( readline.set_completer(
readline.__name__ readline.parse_and_bind(
>>> readline.
ماژول rlcompleter برای استفاده در حالت تعاملی پایتون طراحی شده است. مگر اینکه پایتون با گزینه -S اجرا شود، این ماژول بهطور خودکار ایمپورت و پیکربندی میشود (به پیکربندی Readline مراجعه کنید).
در سکوهای فاقد readline، همچنان میتوان از کلاس Completer تعریفشده توسط این ماژول برای اهداف سفارشی استفاده کرد.
-
class rlcompleter.Completer¶
اشیای Completer متد زیر را دارند:
-
complete(text, state)¶
تکمیل ممکن بعدی برای text را برمیگرداند.
هنگامی که توسط ماژول readline فراخوانی میشود، این متد بهصورت متوالی با state == 0, 1, 2, ... فراخوانی میشود تا زمانی که این متد None را برگرداند.
اگر برای text فراخوانی شود که شامل نویسه نقطه ('.') نباشد، آن را از نامهایی که در حال حاضر در __main__ و builtins تعریف شدهاند و نیز کلیدواژهها (همانطور که توسط ماژول keyword تعریف شدهاند) تکمیل خواهد کرد.
اگر برای یک نام نقطهدار فراخوانی شود، تلاش میکند هر چیزی را بدون عوارض جانبی آشکار (توابع ارزیابی نمیشوند، اما ممکن است فراخوانیهایی به __getattr__() ایجاد شود) تا آخرین بخش ارزیابی کند و برای باقیمانده، تطابقها را از طریق تابع dir() بیابد. هر استثنایی که در حین ارزیابی عبارت پرتاب شود، گرفته و سرکوب میشود و None برگردانده میشود.
©
حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرمافزار پایتون نسخه ۲ منتشر شده است.
مثالها، دستورالعملها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شدهاند.
برای اطلاعات بیشتر به
تاریخچه و مجوز مراجعه کنید.
بنیاد نرمافزار پایتون یک شرکت غیرانتفاعی است.
لطفاً کمک مالی کنید.
آخرین بهروزرسانی در نوامبر 12, 2026 (06:19 UTC).
آیا
اشکالی یافتید؟
ساخته شده با
Sphinx 9.1.0.