Я реорганизую большую научную программу. Основной код приложения состоит из десятков уравнений с использованием сотен параметров. Поскольку этот код вычисления был протестирован широко, я не хочу его менять.Импорт большого количества переменных в пространство имен
Некоторые из параметров могут быть логически объединены в множествах, например, могут быть наборы параметров, соответствующих данному инструменту. Моделирование должно выполняться путем замены и набора различных параметров.
Я хотел бы сохранить параметры в отдельном файле, чтобы их можно было легко изменить.
Мой вопрос заключается в следующем: как мне «импортировать» параметры в пространство имен модулей вычислений таким образом, чтобы я мог указать, какие наборы используются?
Прямо сейчас, я использую то, что кажется взломом. В модуле параметров я храню значения в словарях. Например,
----- start params_module -----
instrument1 = dict(param1=1.0, param2=2.0, ...)
instrument2 = dict(param1=3.0, param2=4.0, ...)
instrument3 = dict(param1=5.0, param2=6.0, ...)
misc_params = dict(param10 = 10, param11=20, ...)
...
----- end params_module -----
я затем импортировать словарь интерес в пространстве имен calculation_module и добавить его в словарь глобалам:
--- start calculation_module -----
from params_module import instrument1, misc_params
globals().update(instrument1)
globals().update(misc_params)
...
many equations that make use of param1, param2, etc.
...
--- end calculation_module -----
есть более Pythonic способ сделать это?
спасибо.
-cytochrome