我知道可以通过以下方式访问内置函数:
object().__reduce__()[0].__globals__["__builtins__"]
这似乎适用于大多数功能。但是,我似乎找不到exec()
。我很确定它是一个内置函数,那么它为什么不出现在__builtins__
中呢?eval()
和{}都在那里。在
我使用的是python2.7
[编辑]
获取全局变量的一种更简单的方法是使用内置函数globals()
:),因此可以将上述内容简化为:
globals()['__builtins__'].__dict__
Tags:
exec
是一个关键字,类似于print
。因此,它是一个函数。在如果您可以尝试分配它:
如果您执意要调用
^{pr2}$exec
,而不使用单词exec
,那么您可以这样做:它滥用cpythonapi来执行一段代码(可以任意长)。在
如果需要控制全局变量和局部变量,请使用
PyRun_String
:在Python 2.x中,^{} is a statement ,不是函数:
但是在python3.x中,
^{pr2}$exec
是{a2}:相关问题 更多 >
编程相关推荐