擅长:python、mysql、java
<p>如果你必须这样做:</p>
<p>在示例.conf公司名称:</p>
<pre><code>[section]
a = 10
b = 15
c = %(a)s+%(b)s
d = %(b)s+%(c)s
</code></pre>
<p>在脚本中,您可以:</p>
^{pr2}$
<p>你可以评估这个表达式:</p>
<pre><code>print eval(config.get('section', 'c'))
# 25
print eval(config.get('section', 'd'))
# 40
</code></pre>
<hr/>
<p>如果我认为<a href="http://doc.dvgu.ru/devel/python/library/configparser.html" rel="nofollow">ConfigParser</a>模块类缺少这样一个函数,我认为<a href="http://doc.dvgu.ru/devel/python/library/configparser.html#ConfigParser.ConfigParser.get" rel="nofollow">get()</a>方法应该允许传递一个函数,该函数将对表达式求值:</p>
<pre><code>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
</code></pre>