
技术分享1 分钟阅读
python 运行字符串代码
def run(s):
code = """import time
def times(b):
a = time.time()
return a + b"""
local_vars = {}
exec(code, local_vars)
result = eval(s, local_vars)
print(result)
return result
run('times(1111)')
自己写接口测试平台时,想着添加一个内置方法的功能,看之前有的同学在实现这个功能是用的的先添加个py文件,然后运行。想着是否可以把代码存数据库,然后在数据库查询出来运行。
内置方法肯定要掉用和传参运行,想着怎样用字符串实现这功能。
code = """
import time
times = lambda b: time.time() + b
print(times(1111))
"""
code_obj = compile(code, '<string>', 'exec')
exec(code_obj, globals())
run = lambda s: eval(s, globals())
result = run('times(1111)')
print(result)
读者评论
评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。
暂无评论,欢迎抢沙发。