我有一个名为 'somefunc' 的函数:
def somefunc():
return "ok"
我想用 exec() 像这样运行它:
exec("somefunc()")
这很好用。但问题是,我无法获得返回值“ok”。我试过这样做:
a = exec("somefunc()")
print (a)
但我什么都没有。我怎样才能得到返回值?
我有一个名为 'somefunc' 的函数:
def somefunc():
return "ok"
我想用 exec() 像这样运行它:
exec("somefunc()")
这很好用。但问题是,我无法获得返回值“ok”。我试过这样做:
a = exec("somefunc()")
print (a)
但我什么都没有。我怎样才能得到返回值?
You need to store the function output straight to a
def somefunc():
return "ok"
exec("a = somefunc()")
print(a)
Output
ok
exec()
is executing the statement that you provide it as text so in this case, the exec will store the return value the a
variable.
如果您想完全使用该exec()
功能,@Leo Arad 的答案是可以的。
但我认为你误解了exec()
和eval()
功能。如果是这样,那么:
a = exec("somefunc()")
print (a)
当你使用它时它会起作用eval()
:
a = eval("somefunc()")
print(a)