Вызов функции globals () внутри произвольной импортированной функции? - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь вызвать globals() внутри функции, импортированной из другого файла, для извлечения глобально определенных значений программы.

Однако этот словарь отличается от словаря при вызове внефункция.

Я знаю, что это должно произойти, поскольку здесь говорит:

Словарь таблицы глобальных переменных - это словарь текущего модуля (внутрифункция, это модуль, в котором она определена, а не модуль, в котором она вызывается)в __main__?

Эта проблема может быть легко воссоздана.Например, в foo.py введите:

def get_globals():
    return globals()

Затем в основной программе:

from foo import get_globals()

main_globals = globals()

foo_globals = get_globals()

main_globals == foo_globals
Out [1]: False

Однако есть ли способ заставить эту последнюю строку прочитать:

main_globals == foo_globals
Out [2]: True

Заранее спасибо за помощь:)

...