我想创建一个配置变量section1.xml_file
config.py:
[section1]
xml_file = 'String1' + sys.argv[1] + 'String2'
示例:
Input: config.py Test1
Output: xml_file = String1Test1String2
Input: config.py Test2
Output: xml_file = String1Test2String2
答案 0 :(得分:1)
您不希望在运行时实际更改 config 文件的内容。配置是根据特定环境设置的静态描述,它不应包含任何使配置设置本身适应运行时参数的魔法(例如'Scalene'
)。
如果要根据传递给python脚本的参数更改xml文件名,可以将文件名的格式描述放入配置中,然后在运行时加载该字符串并替换/插入单个部分。这有两个主要优点:
您的配置文件条目可能如下所示(我使用的示例不那么通用,更接近实际设置):
sys.argv
在你的python代码中,你可以:
[assets]
xml_file_format = '/usr/share/basepath/{subpath:s}/assets/project.xml'
如果您的整个环境因传递的import ConfigParser
cfg = ConfigParser.RawConfigParser()
xmlfile = cfg.get('assets', 'xml_file_format').format(subpath=sys.argv[1])
而异,并且您希望它是固定且一致的,您应该为该特定环境创建配置文件并坚持下去