声明:是的,我意识到我的建议很疯狂,我有一个非常特殊的(滥用)情况。
在特定的exec中,我希望字典字面值计算为有序字典,以便我可以保留来自exec'd代码的原始顺序。
我尝试在exec之前替换__builtin__.dict(非常小心地在执行后恢复),但这只影响dict调用本身,而不影响dict字面值。
>>> import __builtin__
>>> __builtin__.dict = list
>>> exec "a={}"
>>> a
{}
>>> exec "a=dict()"
>>> a
[]
显然有dis模块,但那是从轨道上摧毁网站的方法。
还有其他方法可以钩入字典字面值的评估并更改发生的事情吗?
附:Python2.6
dict( tuples here )
,因为字典文字是语法,如果它们不被解释为字典,则不是Python。 - agf