Выполнение динамической функции python в ответ на HTTP-вызов - PullRequest
0 голосов
/ 02 января 2019

У меня есть http-сервер, написанный с использованием бутылки, который имеет 2 URL-адреса.Сохранить / обновить код и выполнить код.Я передаю необработанный файл Python для сохранения / обновления кода и сохранения его в файловой системе и возвращаю идентификатор кода.Я хочу выполнить код всякий раз, когда http-запрос приходит к / execute / {codeid}.Я хочу передать параметры, которые я получил для конечной точки / execute / {codeid}, в необработанный файл Python, который я сохранил.

Я не понимаю, как передать параметры в файл динамического питона.Я пытаюсь создать что-то похожее на webtask.io, используя python.

Я пытался использовать код для создания динамических функций, используя приведенный ниже код.Но это только создает функцию.Я хочу импортировать и другие модули.

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 голосов
/ 02 января 2019

Насколько я понимаю, вы пытаетесь выполнить код от пользователя и обеспечить динамический ввод.

Почему бы не использовать что-то вроде: subprocess.call('python file_<codeid>.py <arg1> <arg2> <arg3>', shell=True)

Вы сохраняете код в файле python, затем запускаете его с аргументами, получаете и проверяете вывод этого.

...