Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 11, 2019 17:15:00

GRINE
Зарегистрирован: 2019-08-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Сгенерированный код запустить в EXEC

Возможно ли на python c помощью exec() или каким либо другим образом запустить код, который сгенерирован функцией?

 exec("""
gen_code()
def gen_code():
    return 'print(1)'
""")

NameError: name ‘gen_code’ is not defined

Отредактировано GRINE (Авг. 11, 2019 17:18:46)

Офлайн

#2 Авг. 11, 2019 19:44:18

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Сгенерированный код запустить в EXEC

exec работает так как если бы вы вручную посточно вводили команды в консоль интерпретатора, а у вас функция вызываеться до ее обьявления. вот так все работает

 exec("""
def gen_code():
    return 1
print(gen_code())
""")



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version