使用bunch
,可以递归使用Bunch
吗?
例如:
from bunch import Bunch
b = Bunch({'hello': {'world': 'foo'}})
b.hello
>>> {'world': 'foo'}
所以,显然:
b.hello.world
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-5-effaad77643b> in <module>()
----> 1 b.hello.world
AttributeError: 'dict' object has no attribute 'world'
我知道我能做到......
b = Bunch({'hello': Bunch({'world': 'foo'})})
......但那太糟糕了。
答案 0 :(得分:2)
挖掘源代码,可以使用fromDict
方法完成。
b = Bunch.fromDict({'hello': {'world': 'foo'}})
b.hello.world
>>> 'foo'
答案 1 :(得分:1)
Bunch.fromDict
可以为你做这个魔术:
>>> d = {'hello': {'world': 'foo'}}
>>> b = Bunch.fromDict(d)
>>> b
Bunch(hello=Bunch(world='foo'))
>>> b.hello
Bunch(world='foo')
>>> b.hello.world
'foo'