rlcompleter — GNU readlineの完了関数—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/library/rlcompleter
移動先:案内検索

rlcompleter —GNUreadlineの完了関数

ソースコード: :source: `Lib / rlcompleter.py`



rlcompleter モジュールは、有効なPython識別子とキーワードを補完することにより、 readline モジュールに適した補完関数を定義します。

このモジュールが readline モジュールが使用可能なUnixプラットフォームにインポートされると、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 モジュールは、Pythonのインタラクティブモードで使用するように設計されています。 Pythonが -S オプションで実行されていない限り、モジュールは自動的にインポートされて構成されます( Readline構成を参照)。

readline のないプラットフォームでも、このモジュールで定義されているCompleterクラスをカスタム目的で使用できます。

コンプリーターオブジェクト

コンプリーターオブジェクトには、次のメソッドがあります。

Completer.complete(text, state)

textstate 番目の完了を返します。

ピリオド文字を含まないテキスト'.')が呼び出された場合、 __ main __builtins で現在定義されている名前から補完されます。およびキーワード(キーワードモジュールで定義されているとおり)。

点線の名前が必要な場合は、明らかな副作用なしに(関数は評価されませんが、__getattr__()への呼び出しを生成できます)、最後の部分まで評価を試み、残りの部分に一致するものを見つけます。 dir()関数を介して。 式の評価中に発生した例外はすべてキャッチされ、サイレンシングされ、 None が返されます。