我正在尝试将一些环境变量读入我的ConfigParser文件。
我参考了这个答案,但我得到了:
"InterpolationDepthError: Value interpolation too deeply recursive" error.
section: [amazon]
option : amazon_access_key
rawval : %(AMAZON_ACCESS_KEY)s
以下是我的配置文件部分内容:
[amazon]
amazon_access_key=%(AMAZON_ACCESS_KEY)s
amazon_secret_key=%(AMAZON_SECRET_KEY)s
这是我写的调用文件名的代码:
from ConfigParser import SafeConfigParser
import os
config = SafeConfigParser(os.environ)
config.read('config.txt')
当我直接在“亚马逊”部分调用这些变量时,会出现上述错误。
当我在“默认”部分中调用这些变量时,例如:
[default]
aws_access_key=%(AMAZON_ACCESS_KEY)s
aws_secret_key=%(AMAZON_SECRET_KEY)s
[amazon]
amazon_access_key=%(aws_access_key)s
amazon_secret_key=%(aws_secret_key)s
I get the following error:
ConfigParser.InterpolationMissingOptionError: Bad value substitution:
section: [amazon]
option : amazon_access_key
key : aws_access_key
rawval : %(aws_access_key)s
我这里缺少了什么?
另外,我如何为本地和生产环境部署使用不同的配置文件?目前,本地和生产环境的所有配置都是相同的。
[amazon]
部分下面的选项卡是否重要。 - Jeff Tratner