我对建立在https://stackoverflow.com/a/10303539/4113228上的代码片段有问题
当我试图编译时:
import types
dynf = types.FunctionType(compile('print("wow")', 'dyn.py', 'exec'), {})
dynf()
在文件中测试.py使用python2.7,一切正常, 但当我尝试使用python3.5时,我得到:
Traceback (most recent call last):
File "test.py", line 3, in <module>
dynf()
File "dyn.py", line 1, in <module>
NameError: name 'print' is not defined
我是python编码的新手,我完全被困在这个。。非常感谢您的帮助!你知道吗
问题是您将一个空的dict作为
globals
传递—因此,编译的代码无法访问全局变量或内置变量。你知道吗要允许访问内置函数,请使用
相关问题 更多 >
编程相关推荐