
在python中如何运行变量
用户关注问题
如何在Python中动态运行存储代码的变量?
我有一个变量里面存储了Python代码字符串,怎样才能让这些代码运行起来?
使用exec函数执行字符串代码
在Python中,可以使用内置函数exec()来执行存储在变量中的代码字符串。例如:code = "print('Hello World')"; exec(code) 这样代码字符串就会被执行,实现变量中代码的运行效果。
能否通过变量调用函数或变量的值?
如果变量中存有一个函数的名字或变量名,该怎么运行或调用它?
使用内置函数globals()或locals()按名字调用
你可以使用globals()或locals()函数来根据字符串获取对应的变量或函数,然后调用。例如:func_name = "my_function"; globals()func_name 这就会调用名为my_function的函数。
如何安全地在Python中运行变量中的代码?
运行变量中代码会不会有安全风险?有没有办法限制执行范围?
使用限制的命名空间执行代码
exec()运行代码确实可能带来安全隐患,特别是运行来自不信任源的字符串。可以通过定义自己的命名空间字典传递给exec,比如 exec(code, {'builtins':None}, {}) 限制内置函数调用,从而减少风险。