GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • readline --- رابط GNU readline
  • خدمات داده‌های دودویی
  • گزارش یک اشکال
  • بهبود این صفحه
  • نمایش منبع
  • نمایش منبع ترجمه
  • اندیس
  • ماژول‌ها
  • Python
  • 3.15.2 documentation
  • کتابخانه‌ی استاندارد پایتون
  • خدمات پردازش متن
  • rlcompleter --- تابع تکمیل برای GNU readline

This view

  • Original page
  • New address

GeezerVison is showing python.github.io — rlcompleter --- تابع تکمیل برای GNU readline

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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.