[英]How to get the returned value of a function, called by exec() in python?
我有一個名為“somefunc”的 function:
def somefunc():
return "ok"
我想用 exec() 來運行它,比如:
exec("somefunc()")
這很好用。 但問題是,我無法獲得返回值“ok”。 我試過這樣做:
a = exec("somefunc()")
print (a)
但我什么都沒有。 我怎樣才能得到返回值?
您需要將 function output 直接存儲a
def somefunc():
return "ok"
exec("a = somefunc()")
print(a)
Output
ok
exec()
正在執行您以文本形式提供的語句,因此在這種情況下,exec 會將返回值存儲在a
變量中。
如果您想完全使用exec()
function,@Leo Arad 的答案是可以的。
但我認為您誤解了exec()
和eval()
函數。 如果是這樣,那么:
a = exec("somefunc()")
print (a)
當你使用eval()
時它會起作用:
a = eval("somefunc()")
print(a)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.