免责声明:是的,我意识到我的建议很疯狂,我有一个非常特殊的(ab)用例。有没有办法将python字典文字评估为有序的字典?
在一个特定的exec中,我希望字典文字能够评估为有序的字典,所以我可以保留exec'd代码的原始顺序。
我试图在执行exec之前替换__builtin __。dict(在恢复之后非常小心),但是这并不影响dict文字,只是dict自己调用。
>>> import __builtin__
>>> __builtin__.dict = list
>>> exec "a={}"
>>> a
{}
>>> exec "a=dict()"
>>> a
[]
显然有dis模块,但这是从轨道方法nuke网站。
有没有其他一些方法我可以钩入字典文字的评估和改变会发生什么?
P.S.对于Python2.6
我想你不得不更换'字典(这里的元组)'源的字典文字,如字典文字是语法,所以如果它们不被解释为字典,它就不是Python。 – agf 2012-03-21 06:59:03