[英]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.