色々なサイトからえっちな画像とメタデータを拾ってくるパッケージを作っています。
仮に"hnano"とします。
サイトから拾ってくるメタデータを同じインターフェースで扱いたいので、ベースになる抽象クラス(base.py
)を作って、それをextendして各サイトのパーサを書いていきます。
全てのファイルをパッケージのrootに置いていくと、対応するサイトの数だけファイルが増えてしまって汚いですよね。rootにあるのはパーサだけではないので、パーサは1つのディレクトリにまとめてしまいたいところ。
サブディレクトリにまとめると、例えばrootに置いてあるexceptions.py
とかはパーサから見られなくなってしまいます。パッケージの例外は共通の親を持たせたいので、exceptions.py
はrootに置きたいです。sys.path
をいじれば見られるみたいですが、強引で、あんまり良くないような気がします。
質問としては、
0. Pythonパッケージにおいて上位ディレクトリを扱う正当な方法とかってあるのでしょうか?
- ないのなら、ある種の機能群を"まとめておく"定番の方法ってありますか?
- そもそもどういった経緯で上のディレクトリが見えない仕様になったのですか? (optinal, ご存知なら)
です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。