我想从用户输入中获取书面函数(字符串),并将其转换为Python中的可调用函数。 尽管存在安全隐患,如何实现这一目标?
范例( 一串 ):
""" def test():\n print('success')\n返回'success' """
我想通过调用test()调用/计算所述字符串,并将其打印到控制台。
尝试使用compile方法结合eval或exec
a = compile("""def test(): \n print('success') \n return 'success' """, "", "exec") eval(a) test()
在适当的情况下,这是一项针对 exec 作用
exec
>>> exec("""def test(): \n print('success') \n return 'success' """, globals()) >>> test() success 'success'