114

PythonのクラスCが与えられた場合、クラスがどのファイルで定義されているかをどのように判断できますか?クラスCまたはC以外のインスタンスのいずれかから機能するものが必要です。

私がこれを行っている理由は、私は通常、同じフォルダーに一緒に属するファイルを置くのが好きだからです。Djangoテンプレートを使用して自分自身をHTMLとしてレンダリングするクラスを作成したいと思います。基本実装は、クラスが定義されているファイル名に基づいて、テンプレートのファイル名を推測する必要があります。

ファイル「base/アーティファクト.py」にクラスLocationArtifactを配置したとします。デフォルトの動作では、テンプレート名は「base/LocationArtifact.html」になります。

4

3 に答える 3

157

次のように、検査モジュールを使用できます。

import inspect
inspect.getfile(C.__class__)
于 2009-03-30T14:14:55.707 に答える