問題タブ [inspect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
55578 参照

python - 完全なパッケージモジュール名を取得する

私のアプリケーションの詳細なデバッグメッセージには、役立つプレフィックスを返す関数を使用しています。次の例を考えてみましょう。

これは以下を出力します:


私の問題は次のとおりです。たとえば「myproject.utilities.input」などのモジュールがパッケージに含まれている場合、返されるモジュール名はget_verbose_prefix「myproject.utilities.input」ではなく「input」のままです。これにより、異なるサブモジュールに複数の「入力」モジュールがすべて一緒に機能する可能性がある場合、大規模なプロジェクトでのプレフィックスの有用性が大幅に低下します。

だから私の質問は: Pythonのパッケージ内の完全なモジュール名を取得する簡単な方法はありますか?get_verbose_prefixモジュールの親ディレクトリにある「__init__。py」ファイルをチェックしてフルネームを推定するように関数を拡張することを計画していますが、最初に、より簡単な方法があるかどうかを知りたいと思います。

0 投票する
2 に答える
3987 参照

python - Python - メソッドが定義されているクラスを照会するにはどうすればよいですか?

私の質問はこれと似てます。モジュールの内容ではなく、オブジェクトのメソッドに関するものです。inspectモジュールを使用して、親ではなく、質問しているクラスでのみ定義されたメソッドを取得できるかどうかを知りたいです。

これが必要なのは、子クラスが「マクロ」メソッドを定義しているためです。これは、より高いレベルの抽象化で親のメソッドにアクセスし、ユーザーが継承のすべての方法で定義された低レベルのメソッドについて心配する必要がないようにしたいためです木。

簡単な例を次に示します。

出力:

fユーザーはs にしか興味がないので、 s の存在を知ったり気にしたりする必要はありませんg。(もちろん、これらのメソッドはすべて、オブジェクトがインスタンス化されるときにオブジェクトにバインドされるため、この出力はほとんどのコンテキストで意味があります。) 長い継承ツリーの場合、返されるリストは非常に長くなり、継承されていないものでいっぱいになる可能性があります。ユーザーには関係ありません。

このリストを離れf1たり外したりするにはどうすればよいですか? クラスで定義されたメソッドf2の属性に相当するものはありますか? さらに良いことに、インスタンスメソッド__module__で同じことを行うことは可能ですか?

0 投票する
2 に答える
291 参照

python - os.chdir 後の inspect.getmodule の結果の変更

私のコードの中には、どこからともなくバグが発生したように見えるものがあります。追跡したところ、inspect.getmodule実行前と実行後に同じ (同一の) 引数で評価すると、os.chdir異なる結果が得られることがわかりました。

(FWIW、私は OS X で Python 2.7.3 を実行しています。)

この動作は非常に不可解で当惑しているため、バグを修正する最善の方法がわかりません。(言い換えれば、行動の理由を理解した上で、私が考えることができる解決策は、応急処置にすぎません。)

以下のテスト スクリプトは、動作を示しています (もちろん、実際のバグは、はるかに現実的で複雑な状況で発生しています)。

(注: このコードを実行するには、現在のディレクトリのすぐ下に「subdir」というサブディレクトリが必要です。)

その出力は次のとおりです。

3 つの呼び出しはすべてgetmodule引数として同じフレーム オブジェクトを持っていますが、最後の呼び出しの結果は、最初の 2 つの呼び出しで生成された結果とは異なることに注意してください。(最初の 2 つの呼び出しの結果は、予想どおり同じです。)

最初の 2 つの呼び出しと 3 番目の呼び出しの唯一の違いは、後者が実行後に行われることos.chdirです。

何が起こっているのかについての洞察をいただければ幸いです。

0 投票する
5 に答える
4514 参照

python - Python でクラス パラメータを出力する

クラス Column のインスタンス化引数を出力したいと考えています。一般に、python コードを文字列に変換します。例:

inspect モジュールを試してみましたが、サポートされていないことがわかりました: http://docs.python.org/library/inspect.html#inspect.getmembers

情報をありがとう

0 投票する
4 に答える
214 参照

javascript - サードパーティ コードから未知の JavaScript オブジェクト メソッドを公開する

不明な JavaScript オブジェクトの型とメソッドを公開する方法を探しています。

メソッドのドキュメントが限られているサードパーティのコードを実装しているため、 で期待するオブジェクトの種類を教えてくれるドキュメントにアクセスできませんresponse

これがどのタイプのオブジェクトであるかを確認し、含まれているメソッドを公開する方法はありますか?

Firebug コンソールの出力:

応答: [オブジェクト オブジェクト]、[オブジェクト オブジェクト]、[オブジェクト オブジェクト]、....

0 投票する
1 に答える
4266 参照

python - inspect.getmembersを使用する

inspect.getmembersファイル内のクラスと関数をチェックするために使用しようとしています。inspect.getmembers問題は、を使用せずにファイルの名前を渡す方法がわからないことですimport。毎回違うファイル名を指定する必要があるからです

コードは次のようになります。

0 投票する
1 に答える
144 参照

assembly - アセンブリのスタックを検査する

インライン アセンブリで int 値をプッシュしています。

後で pop を実行してこの値を取得します。

ポップを行わずにスタックを検査したい。いくつかの値を再配置または再計算する必要があります。完了したら、スタックを復元できます。

私はasmで非常に錆びています。次のようなものがありますか:

次の(現在ではない)スタック要素を移動しますか?私はちょうど推測しています。このコードを 32 ビット Windows と 64 Windows 環境の両方で実行する必要があります。

0 投票する
1 に答える
763 参照

python - Pythonファイルの各クラスのコード行を数えますか?

Pythonファイルのクラス内のコードの行数を見つけようとしています..len(inspect.getsourcelines(b)[0])を使用して、ファイル内の各クラスのコードの行数を返しました。しかし、コード行に加えてコメントとドキュメント文字列をカウントする問題..コメントとドキュメント文字列を破棄する方法はありますか?

0 投票する
1 に答える
39 参照

ajax - オートコンプリート可能な値を表示する場合、Google マップ Web サイトで HTTP 要求は実行されません。それはどのように可能ですか?

AJAX の仕組みを理解し、学ぶために、FirefoxFirebugを使用しています。Google マップの Web サイトを「調査」しています。名前を入力して検索入力フィールドに移動すると、オートコンプリート可能な値のリストが表示されます。ただし、奇妙なことに、これらの値を取得するために AJAX HTTP リクエストが実行されました。それはどのように可能ですか?つまり、Google マップはこれらの値をどのように取得するのでしょうか?

注: GoogleのWeb サイトでは同じことは起こりません。