Изящно вводить глобальные переменные из другого модуля - PullRequest
0 голосов
/ 02 марта 2019

Допустим, я разрабатываю библиотеку, и она находится в файле lib.py.Кто-то, использующий его, затем:

from lib import A, B
A('hey why dont you give me x, y, and z?')
B(x, y, z)

Я хочу включить использование переменных x, y, z, как если бы они были в глобальной области видимости после выполнения A.

Поскольку A находится в другом модуле, у него есть собственная таблица символов , поэтому изменение globals() не работает.Лучшее, что у меня есть, - это создание общего конфигурационного модуля , тогда это выглядит так:

from lib import A, B
A('hey why dont you give me x, y, and z?')
from config import x, y, z
B(x, y, z)

Это не выглядит красиво, но приемлемо, если нетмного переменных для импорта.Есть ли способ обойти это?

...