В некоторой функции ведутся расчеты, параметры хранятся в конфиг файле
Набор инструкций в виде:
def Mf(): cfg=ConfigParser.ConfigParser() cfg.read(filename) a=cfg.getint("somesection","a") b=cfg.getint("somesection","b") ................................................. z=cfg.getfloat("somesection","z")
1 имена переменных заданы в 3 местах (в конфиге и две позиции в коде)
2 многократно повторяется “somesection” по смыслу в данной функции читается одна секция конфига - зачем повторять…
3 приходится отслеживать тип переменной, хотя по тексту в конфиге можно вывести тип.
Хочется сделать так:
def Mf(): insert_vars_from_config(filename,"somesection",globals())
Но это засорение пространства имен модуля. locals() не проходит…, можно inspect взять и начать ковырять стек чтобы добраться до локальных переменных вызывающей функции, но мне кажется это уже залезание в дебри.