Насколько я понимаю, python имеет следующие внешние пространства имен:
Построение - это пространство имен является глобальным для всего интерпретатора и для всех сценариев, работающих в экземпляре интерпретатора.
Globals - это пространство имен является глобальным для модуля, то есть для одного файла.
Я ищу пространство имен между этими двумя, где я могу поделиться несколькими переменными, объявленными в основном скрипте, с вызываемыми им модулями.
Например, script.py:
import Log from Log
import foo from foo
log = Log()
foo()
foo.py:
def foo():
log.Log('test') # I want this to refer to the callers log object
Я хочу иметь возможность вызывать script.py несколько раз и в каждом случае предоставлять объект журнала уровня модуля методу foo.
Есть идеи, если это возможно?
Не будет слишком больно передавать объект журнала, но я работаю с большим фрагментом кода, который был перенесен из Javascript. Я также понимаю, что это накладывает ограничения на вызывающую функцию foo для предоставления объекта журнала.
Спасибо,
Пол