Notion Blog
技术分享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 中的页面底部(与正文同页,便于管理)。

0/1500

暂无评论,欢迎抢沙发。