私が解決しようとしている主な問題は、特定のクラスのすべてのサブクラスを検出する方法です。私が__subclasses__
を使用することができない理由は、それらにアクセスしようとしているコンテキストで子クラスにまだアクセスできないからです。私はこのようなルックスで働いている現在のコンテキストに存在しないサブクラスを取得する
フォルダ構造:私が何をしたいのですがどのような
main.py projects/ __init__.py project.py some_project_child.py
がmain.py
から(project.py
で定義されている)Project
のすべてのサブクラスのリストを取得することです。
は私がやってこれを行うことができるよ:
from projects.project import Project
from projects.some_project_child import SomeProjectChild
Project.__subclasses__
私はインポートを追加する必要がされないようしたいのですが、このアプローチの様相私は新しいプロジェクトファイル/クラスを追加するたびに行を追加します。私はディレクトリ内のファイルを繰り返し処理して各自のコンテンツをインポートすることでこれを行うことができることを認識していますが、これを処理するより洗練された方法がありますか?
[この回答をお持ちですか?] https://stackoverflow.com/a/1057534/933770 –
「十億時間の相対的な輸入」という質問への回答を見てください(https://stackoverflow.com/questions/14132789/relative-imports-for-the-billionth-time)。 – martineau