オブジェクトインスペクタ(xonsh.inspectors)

Pythonオブジェクトを検査するためのツール。

このファイルはIPythonプロジェクトからforkされました:

クラスxonsh.inspectors.Inspector(str_detail_level = 0 )[ソース]

オブジェクトを検査します。

info(obj、oname = ''、info = None、detail_level = 0 )[ソース]

オブジェクトに関する詳細情報を含むdictを計算します。

オプションの引数:

  • oname:オブジェクトを指す変数の名前。
  • info:既に事前計算されているかもしれない情報フィールドを持つ構造体。
  • detail_level:1に設定すると、詳細情報が表示されます。
noinfo(msg、oname )[ソース]

情報が見つからない場合の一般的なメッセージ

pdef(obj、oname = '' )[ソース]

呼び出し可能なオブジェクトの呼び出しシグネチャを出力します。

オブジェクトがクラスの場合は、コンストラクタ情報を出力します。

pdoc(obj、oname = '' )[ソース]

オブジェクトのdocstringを出力します。

オプション

-formatter:特別に書式化されたdocstringをdocstringで実行する関数。

pfile(obj、oname = '' )[ソース]

オブジェクトが定義されたファイル全体を表示します。

pinfo(obj、oname = ''、info = None、detail_level = 0 )[ソース]

オブジェクトに関する詳細情報を表示します。

パラメーター:
obj : オブジェクト
oname : str、オプション

オブジェクトを指す変数の名前。

info : dict、optional

既に事前計算されているかもしれない情報フィールドを持つ構造体。

detail_level : int、optional

1に設定すると、より多くの情報が与えられます。

psource(obj、oname = '' )[ソース]

オブジェクトのソースコードを出力します。

pinfo_fields1= [( 'Type'、 'type_name')]
pinfo_fields2= [( '文字列フォーム'、 '文字列フォーム')]
pinfo_fields3= [( 'Length'、 'length')、( 'File'、 'file')、( 'Definition'、 'definition')]
pinfo_fields_obj=>( 'クラスdocstring'、 'class_docstring')、( 'Init docstring'、 'init_docstring')、( 'Call def'、 'call_def')、( 'Call docstring'、 'call_docstring')]
xonsh.inspectors.call_tip(oinfo、format_call = True )[ソース]

oinfo dictからコールチップデータを抽出します。

パラメーター:
oinfo : dict
format_call : bool、オプション

Trueの場合、コール線は書式設定され、文字列として返されます。そうでなければ、(name、argspec)のタプルが返されます。

戻り値:
call_info : None、strまたは(str、dict)タプル。

format_callがTrueの場合、呼び出し情報全体が単一の文字列としてフォーマットされます。それ以外の場合は、オブジェクトの名前とそのargspec dictが返されます。コール情報が利用できない場合、Noneが返されます。

docstring : strまたはNone

利用可能な場合は、最も関連性の高い呼び出し用のdocstringが返されます。優先順位は、呼び出し可能なインスタンスの場合はdocstringを呼び出し、次にクラスの場合はdocstringを生成し、それ以外の場合は主オブジェクトのdocstring(通常の関数)。

xonsh.inspectors.find_file(obj )[ソース]

オブジェクトが定義されているファイルへの絶対パスを探します。

これは本質的にinspect.getabsfileの頑強なラッパーです。

ファイルが見つからない場合はNoneを返します。

パラメーター:
obj : 任意のPythonオブジェクト
戻り値:
fname : str

オブジェクトが定義されたファイルへの絶対パス。

xonsh.inspectors.find_source_lines(obj )[ソース]

オブジェクトが定義されているファイル内の行番号を探します。

これは本質的にinspect.getsourcelinesの頑強なラッパーです。

ファイルが見つからない場合はNoneを返します。

パラメーター:
obj : 任意のPythonオブジェクト
戻り値:
lineno : int

オブジェクト定義が始まる行番号。

xonsh.inspectors.format_argspec(argspec )[ソース]

argspectを書式設定します。

これは、順序付けされた引数の代わりにdictをとり、inspect.format_argspecを引数を必要な順序で呼び出します。

xonsh.inspectors.get_encoding(obj )[ソース]

objを定義するpythonソースファイルのエンコーディングを取得する

objがソースファイルで定義されていない場合はNoneを返します。

xonsh.inspectors.getargspec(obj )[ソース]

inspect.getfullargspec()Python 3のラッパー、Python 2の:func:inspect.getargspec`

関数とメソッドに加えて、__call__属性を持つオブジェクトも処理でき ます。

xonsh.inspectors.getdoc(obj )[ソース]

inspect.getdocの周りの安定したラッパー。

属性の問題が原因でクラッシュすることはありません。

また、指定されたオブジェクトに対してgetdoc()メソッドを呼び出そうとします。これにより、非標準的なメカニズム(Pyroプロキシなど)を介してドキュメントストリングを提供するオブジェクトは、ipythonのものでまだ検査されますか?システム。

xonsh.inspectors.getsource(obj、is_binary = False )[ソース]

inspect.getsourceの周りをラップします。

これは、カスタマイズされたソース抽出を提供するために他のプロジェクトによって変更することができます。

入力:

  • obj:ソースコードを抽出しようとするオブジェクト。

オプション入力:

  • is_binary:オブジェクトがバイナリソースから来ているかどうか。この実装はバイナリオブジェクトの出力をスキップしますが、カスタム抽出プログラムはそれらを有意義に処理する方法を知っている可能性があります。
xonsh.inspectors.is_simple_callable(obj )[ソース]

objがfunction()の場合はtrue

xonsh.inspectors.object_info(** kw )[ソース]

すべてのフィールドが存在するオブジェクト情報辞書を作成します。