python settings using dir getattr setattr


dir()関数
組み込みdir()は、モジュール定義の識別子(関数、クラス、または変数)をリストします.
getattr(object,name,default)
objectのnameメンバーのvalueを取得し、nameメンバーが存在しない場合defaultの値を返し、defaultが与えられていない場合raise AttributeError.
setattr(object,name,value)
objectのnameメンバーを新規または変更する値はvalueです.
Example:
#settings.py
BEHAVIORS={
  'Red':'generic',
  'Blue':'post',
  'Gold':'sharing',
  'Green':'upload',
   'Orange':'tag',
   'Purple':'downld',
}
#Test.py
import setings as _settings

class Settings():
     def __init__(self,setting_module):
          for setting ii dir(setting_module):
               if setting == setting.upper():
                    setattr(self.setting,getattr(setting_module,setting))
settings = Settings(_settings)

try:
     print getattr( settings, 'BEHAVIORS')
except AttributeError,e:
     print e