1. ホーム
  2. python

[解決済み] Pythonでクラスのファイルパスを取得するには?

2022-09-24 16:03:25

質問

PythonのクラスCが与えられたとき、そのクラスがどのファイルで定義されたかを判断するにはどうしたらよいでしょうか。私はクラスC、またはCのインスタンスのいずれかから動作することができるものが必要です。

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

例えば、 LocationArtifact クラスを "base/artifacts.py" というファイルに置いたとすると、テンプレート名は "base/LocationArtifact.html" というデフォルトの動作にしたいのですが、どうでしょうか?

どのように解決するのですか?

あなたは を検査する モジュールで、このように

import inspect
inspect.getfile(C.__class__)