[英]How do you convert a string to a function in python?
如何將字符串(例如,來自文本框的輸入)轉換為適當的函數?
您可以使用eval
。 但是要非常小心! 這打開了許多安全漏洞。
>>> s = '3+4'
>>> eval(s)
7
如果您希望它可調用:
>>> s = '3+4'
>>> f = eval('lambda: ' + s)
>>> f()
7
有關eval
更多信息,請eval
此處 。
嘗試這個
func = ___import___('func_name')
要么
if hasattr(your_module, func_name): func = getattr(your_module, func_name)
要么
if func_name in globals(): func = globals[func_name]
等等
def func():
print "hello"
# just eval it
eval(raw_input())
# if you just want to ask for name
fName=raw_input()
if fName in globals():
globals()[fName]()
根據目標是什么,可以有其他各種方式?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.