Поскольку вы передаете пустой dict()
в качестве аргумента globals
для exec()
output
, он не будет определен при выполнении output.read()
. Если вам нужно распечатать результат output.read()
, вам нужно передать globals()
или locals()
в качестве второго аргумента exec
. Они возвращают словарь, содержащий объекты, доступные в глобальной и локальной области соответственно. Новый код может быть:
style = dict()
with open('test.py') as output:
exec("print(output.read())", globals())
или
style = dict()
with open('test.py') as output:
exec("print(output.read())", locals())
Возвращаемое значение из инструкции exe c - None
, поэтому вам нужно использовать print, чтобы увидеть вывод * 1017. *