Как в Python выполнять код, который введет пользователь?

например

what_do = input('сюда введите выполняемый код')

скажем, что

what_do = "print('привет мир! Это мой очередной вопрос на форуме')"

тогда как выполнить этот код ?


Ответы (1 шт):

Автор решения: Евгений

Вы можете воспользоваться стандартной функцией exec:

>>> s = "print(\"hello, world!\")"
>>> exec(s)
hello, world!

Крайне не советую прибегать к этому методу, поскольку он имеет серьёзные проблемы с безопасностью - применять его можно только тогда, когда вы уверенны, что исполняемый скрипт не является вредоносным.

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

→ Ссылка