擅长:python、mysql、java
<p>这可能不是最糟糕的事情,但我发现有点问题的是,你现在被锁定在两个配置选项中,旧的和新的。如果有一天你需要添加第三个或第四个等集呢?你再也不能使用简单的布尔测试了。在</p>
<p>此外,您的配置选项看起来都只是简单的字符串值,可以通过字符串键访问。你不需要上课。在</p>
<p>我的建议是忘记用源代码进行配置,而使用配置文件。在<code>projectConfig</code>中,可以有一个从文件初始化的<code>dict</code>,该文件的路径/名称可以在命令行上提供,也可以以任何方便的方式提供。所以<code>projectConfig.py</code>可能会这样:</p>
<pre><code>config_options = {}
def load_configuration(filename):
with open(filename) as f:
for line in f:
# get key and value
config_options[key] = value
</code></pre>
<p>然后在任何需要获得域名的地方,只需访问<code>projectConfig.config_options['field_key']</code>,例如</p>
^{pr2}$
<p>或者使用<code>dict.get(key, default)</code>,如果有一个合理的默认值。这样,每次需要切换到一组不同的字段名时,只需创建一个新的配置文件,而不必接触代码。在</p>
<p>Python的标准库包含一个<a href="https://docs.python.org/3/library/configparser.html" rel="nofollow">^{<cd6>} module</a>,它可以为您处理加载。在</p>