以下代码引发异常:
import inspect
def work():
my_function_code = """def print_hello():
print('Hi!')
"""
exec(my_function_code, globals())
inspect.getsource(print_hello)
上面的代码抛出异常 IOError。如果我在不使用 exec 的情况下声明函数(如下所示),我可以获得它的源代码。
import inspect
def work():
def print_hello():
print('Hi!')
inspect.getsource(print_hello)
我有充分的理由做这样的事情。
有解决方法吗?有可能做这样的事情吗?如果不是,为什么?