【发布时间】:2012-08-15 03:07:02
【问题描述】:
我有一个 python 脚本,作为 tummy 的 memcached python 包装器的附加包装器。我有这样的事情:
class CacheIt(object):
def __init__(self, host=<hostname>, port=11211, **kwargs):
...
我希望能够从我的 ini 文件中检索 memcached 主机名,但我不想指定哪个文件,因为它可能取自 development.ini 或 production.ini 或 test.ini。我需要对当前 ini 文件的“查找”是动态的,这意味着应用程序应该知道当前 ini 文件是什么,从而从设置中检索主机名。
我不能使用线程局部变量 get_current_request 来检索设置文件,因为在应用程序启动时返回值为 None(我将我的类的一个实例附加到 NewRequest 事件)。
这个:
from paste.deploy.loadwsgi import appconfig
config = appconfig('config:development.ini', 'myapp', relative_to='.')
不过,我需要先知道路径才能使用它。这意味着如果我使用它,我需要在每次部署时将 development.ini 的值更改为 production.ini,如果我进行测试则更改为 test.ini。当然必须有更好的方法来做到这一点。
【问题讨论】: