【发布时间】:2020-05-20 14:33:54
【问题描述】:
我正在使用 python,我从函数调用 inspect.getsource(func) 中检索另一段代码
我想执行代码并获取函数的返回值。
这是我目前的代码:
def f():
a = 1
v = 2
return 1
import inspect
st = inspect.getsource(f)
b = exec(st)
print(b)
但目前我看到下面显示的输出。
无
我在这里缺少什么?我希望它执行该函数并返回它应该提供的返回值,就好像我只是调用该函数一样。
欢迎您的提示和建议。
【问题讨论】:
-
如果您有对该函数的引用,那么 只需调用该函数 - 检索该函数的源代码然后重新编译它可能会产生一个不工作(或至少非等效)函数,因为全局环境与包含原始函数的模块不同。
-
@jasonharper - 我需要函数的代码,并且能够执行它
-
我很好奇,你需要这个做什么?
标签: python python-3.x metaprogramming node-inspector code-inspection