Вы найдете, что код преобразовывает между цветовыми пространствами в эти библиотека рубина цветных инструментов
Вы можете установить глобальные переменные в словаре, возвращаемом globals ():
definitions = {'a': 1, 'b': 2, 'c': 123.4}
for name, value in definitions.items():
globals()[name] = value
Вот лучший способ сделать это:
import sys
definitions = {'a': 1, 'b': 2, 'c': 123.4}
module = sys.modules[__name__]
for name, value in definitions.iteritems():
setattr(module, name, value)
Вы правы, exec
обычно плохая идея, и в данном случае она определенно не нужна.
Ответ Неда хорош. Другой возможный способ сделать это, если вы являетесь модулем, - это импортировать себя:
financialconstants.py:
import fundamentalconstants
fundamentalconstants.life_meaning= 42
for line in open('constants.dat'):
name, _, value= line.partition(':')
setattr(fundamentalconstants, name, value)