Форум сайта python.su
0
Добрый день! Столкнулся с проблемой. Пользователь вводит пример кода на питоне, который сохраняется в базе данных в виде строки.
Например.
""" def test(): r = 5 pi = 3.14 s = pi*r^2 return s test() """"
a = """ def test(): r = 5 s = r*r return s test() """ print (exec(a))
Офлайн
253
a = """ def test(): r = 5 s = r*r return s cc=test() """ exec(a) print cc
Офлайн
0
спасибо. Тогда не подскажете, как мне все же доставать конечный результат без внесения изменений в исходный код?
Офлайн
31
a = """ def test(): r = 5 s = r*r return s cc=test() """ def do(): c=a.lstrip("'''") b=c.rstrip("'''") exec(b) return cc print do()
Офлайн
31
a = """ def test(): r = 5 s = r*r return s cc=test() """ code_obj = compile(a, '<string>', 'exec') exec(code_obj) print cc
Отредактировано sanodin (Май 3, 2013 08:05:49)
Офлайн
0
Разобрался. Тему можно закрывать.
Решение нашел здесь.
Отредактировано ahpex (Май 3, 2013 09:48:29)
Офлайн
88
ahpexНевозможно, т.к. он нигде не сохраняется.
Можно ли каким то образом извлечь результат (в дан. случ. - 25) не прибегая к внесению переменных и тд.?
Офлайн