Если вам нужно, вы можете сделать что-то вроде этого:
example.conf:
[section]
a = 10
b = 15
c = %(a)s+%(b)s
d = %(b)s+%(c)s
и в вашем скрипте вы можете сделать:
import ConfigParser
config = ConfigParser.SafeConfigParser()
config.readfp(open('example.conf'))
print config.get('section', 'a')
# '10'
print config.get('section', 'b')
# '15'
print config.get('section', 'c')
# '10+15'
print config.get('section', 'd')
# '15+10+15'
и вы можете вычислить выражение:
print eval(config.get('section', 'c'))
# 25
print eval(config.get('section', 'd'))
# 40
Если я могу предложить, я думаю, что в ConfigParser классах модулей отсутствует функция, подобная этой, я думаю, что метод get () должен позволить передать функцию, которая будет проверять выражение :
def my_get(self, section, option, eval_func=None):
value = self.get(section, option)
return eval_func(value) if eval_func else value
setattr(ConfigParser.SafeConfigParser, 'my_get', my_get)
print config.my_get('section', 'c', eval)
# 25
# Method like getint() and getfloat() can just be writing like this:
print config.my_get('section', 'a', int)
# 10