morfdict是一个类似于dict的对象,它可以动态地转换数据。
MorfDict的Python项目详细描述
MORFDICT
morfdict是一个类似于dict的对象,它可以在运行的后期转换数据。
>> from morfdict import MorfDict >> data = MorfDict() >> data['first'] = 'my data' >> data['first'] 'my data' >> data.set_morf('first', lambda obj, value: '*' + value + '*') >> data['first'] '*my data*'
如果你想创建自己的默认morf方法,只需ovveride _默认方法。
>> class MyMorf(MorfDict): >> def _default_morf(self, obj, value): >> return '*' + value + '*'
StringDict类
stringdict是morfdict,它本身有默认的插值。
>> from morfdict import StringDict >> data = StringDict() >> data['first'] = 'one' >> data['second'] = '%(first)s two' >> data['second'] 'one two'
pathdict类
pathdict是为存储路径而设计的。
>> from morfdict import PathDict >> paths = PathDict({'base' : '/tmp'}) >> paths['home'] = ['%(base)s', 'home', 'myname'] >> paths['home'] '/tmp/home/myname'
或者您可以这样做:
>> from morfdict import PathDict >> paths = PathDict({'base' : '/tmp'}) >> paths.set_path('main', 'base', 'home') >> paths.set_path('home', 'main', 'myname') >> paths['home'] '/tmp/home/myname'
工厂级
如果我们想使用'modulename.settings',其中'modulename'是我们的主要 模块和“设置”是我们的设置模块。
>> from morfdict import Factory >> factory = Factory('modulename', 'settings') >> settings, paths = factory.make_settings()
它将从modulename/settings/default.py读取设置。这个文件 应该是这样的:
>> def make_settings(settings, paths): >> settings['name'] = 'value'
如果我们想为设置添加一些附加文件,比如“local.py”, 我们可以这样做:
>> settings, paths = factory.make_settings(additional_modules=[('local', False)])
这是默认行为。bool的意思是“丢失时引发错误” 模块”。