Pythonで自分用の小物アプリを結構書き溜めてるんですけど、実はそのほとんどにプラグインシステムみたいなのをつくってたりします。 たとえばファイルの整理自動化みたいなの。ファイルの移動前に処理を追加する、てな部分をプラグインにしてあるわけです。 まぁ機能的にはCPANのClass::Componentっぽいもんですね。ですがそこまで高機能なのはいらないので、シンプルに自分が必要な部分だけまとめてみました。 1from inspect import getmembers, ismethod 2import types 3 4class Pluggable(object): 5 def __init__(self): 6 self.hooks = {} 7 8 def load(self, *config): 9 self.load_config(*config) 10 self.load_