Python 重用粘贴配置项

Python 重用粘贴配置项,python,pyramid,Python,Pyramid,我有以下Pyramid.ini文件: [DEFAULT] redis.host = localhost redis.port = 6379 redis.db = 0 [app:main] ... # beaker session session.type = redis session.url = localhost:6379 在app:main部分的session.url中,我想使用DEFAULT部分的redis.host和redis.port中定义的内容 据我所知,DEFAULT部分下

我有以下Pyramid.ini文件:

[DEFAULT]
redis.host = localhost
redis.port = 6379
redis.db = 0

[app:main]
...

# beaker session
session.type = redis
session.url = localhost:6379
app:main
部分的
session.url
中,我想使用
DEFAULT
部分的
redis.host
redis.port
中定义的内容

据我所知,
DEFAULT
部分下的所有内容都是全局的,并传递给其他部分。但是如果我想重用
DEFAULT
中的设置,并在其他部分下为其指定一个不同的名称,我该怎么做

我使用的方法与使用
${:}
session.url=%(redis.host)s:%(redis.port)s来引用buildout.cfg文件中的节条目的方法相同

应该可以了。

session.url=%(redis.host)s:%(redis.port)s


应该这样做。

是否有语法可以对不在[DEFAULT]节中的变量执行相同的操作?除了您的节和默认值之间,或者您的节和继承的节之间,没有其他横节引用。这都在PasteDeploy文档(金字塔用来解析INI文件的库)中。不过我注意到,即使我在
DEFAULT
部分下有
redis.host
,该部分应该由
app:main
继承,
redis.host
设置和其他redis设置不存在于
main(全局配置,**设置)下的金字塔设置中
因此我在
DEFAULT
下使用了不同的名称,并在
app:main
下使用了实际的
redis.
设置。它们不会出现在
settings
中,除非它们实际上是在应用程序的部分中设置的。不过,它们可以在
global_conf
中找到。INI中“可用于继承”的内容与解析输出中显示的内容之间存在差异。顺便说一句,我不是说这有道理。只是说说PasteDeploy是如何工作的对于不在[DEFAULT]节中的变量,是否有相同的语法?除了您的节和DEFAULT之间,或者您的节和继承的节之间,没有任何跨节引用。这都在PasteDeploy文档(金字塔用来解析INI文件的库)中。不过我注意到,即使我在
DEFAULT
部分下有
redis.host
,该部分应该由
app:main
继承,
redis.host
设置和其他redis设置不存在于
main(全局配置,**设置)下的金字塔设置中
因此我在
DEFAULT
下使用了不同的名称,并在
app:main
下使用了实际的
redis.
设置。它们不会出现在
settings
中,除非它们实际上是在应用程序的部分中设置的。不过,它们可以在
global_conf
中找到。INI中“可用于继承”的内容与解析输出中显示的内容之间存在差异。顺便说一句,我不是说这有道理。只是说说PasteDeploy是如何工作的