序言
版本:Python 3.8.0
1.实现通过字符串创建函数
使用 types.FunctionType
创建函数,并将函数添加到全局变量中
from types import FunctionType, CodeType
code_1 = """
def uuid()->str:
import uuid
return str(uuid.uuid1())"""
foo_compile = compile(code_1 , "<string>", "exec")
foo_code = [ i for i in foo_compile.co_consts if isinstance(i, CodeType)][0]
globals()['uuid'] = FunctionType(foo_code, globals())
2.执行生成的方法
func = globals()['uuid']
print(func())
执行后结果
0658cb1f-1295-11ea-9d47-58a023280e46
网友评论