我有一个 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。当然,必须有更好的方法来做到这一点。