NameError: имя 'load_modules' не определено при использовании 'exec' для компиляции макросов в python - PullRequest
0 голосов
/ 27 ноября 2018

мои python_scripts находятся в C: / NB / DATA / CST / CST_13 / scripts, и теперь я хочу скомпилировать и использовать их в оболочке Python.

для этого я использую следующий код.

exec(open('C:/NB/DATA/CST/CST_13/scripts/load_modules.py').read())
load_modules()

Приведенный выше синтаксис работает нормально, когда я работаю вручную.

Если я использовал это в другом макросе, он выдает мне следующую ошибку:

NameError: name 'load_modules' is not defined

Пожалуйста, кто-нибудь может мне помочьрешить эту проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 27 ноября 2018

После моего исследования я нашел одно решение, то есть мы должны передать параметр globals () в функцию exec.

exec(open('C:/NB/DATA/CST/CST_13/scripts/load_modules.py').read(),globals())
...