执行动态python函数以响应HTTP调用

时间:2019-01-02 10:32:33

标签: python bottle

我有一个使用bottle编写的http服务器,该瓶子具有2个URL。保存/更新代码和执行代码。我正在传递一个原始的python文件来保存/更新代码,并将其保存在文件系统中并返回一个代码ID。每当http请求到达/ execute / {codeid}时,我都想执行代码。我要将传递给端点/ execute / {codeid}的参数传递给我存储的原始python文件。

我对如何将参数传递给动态python文件感到困惑。我正在尝试使用python创建类似于webtask.io的内容。

我尝试使用代码使用以下给定代码创建动态函数。但是它只会创建一个函数。我也想导入其他模块。

import types
import sys,imp

code = """def f(a,b,c):
print a+b+c, "really WoW"
"""
module = imp.new_module('myfunctions')
exec code in module.__dict__
module.f('W', 'o', 'W')

1 个答案:

答案 0 :(得分:0)

据我了解,您正在尝试从用户执行代码并提供动态输入。

为什么不使用类似subprocess.call('python file_<codeid>.py <arg1> <arg2> <arg3>', shell=True)

的内容

您将代码保存在python文件中,然后使用参数运行它,并从中获取并验证输出。