我正在编写一个简单的Python脚本,它将采用json格式的配置文件,将其应用于模板文件(将文件作为字符串加载,然后应用string.format方法),然后将输出写入输出文件。
配置文件看起来有点像这样(JSON):
{
"param1": "param",
"param2": [
"list1": "list item 1",
"list2": "list item 2"
]
}
模板文件看起来有点像这样(纯文本):
Param1={param1}
List1={param2[0].list1}
List2={param2[0].list2}
python脚本看起来很像(Python):
#! /usr/bin/env python
import sys, json
if len(sys.argv) < 4:
sys.exit("Invalid arguments")
config_file = open(sys.argv[1])
config_json = json.loads(config_file.read())
config_file.close()
template_file = open(sys.argv[2])
template_data = template_file.read()
template_file.close()
output_data = template_data.format(**config_json)
output_file = open(sys.argv[3], 'w')
output_file.write(output_data)
output_file.close()
Python解释器错误如下:
AttributeError: 'dict' object has no attribute 'list1'
有人可以向我解释如何解决这个问题吗?如果可能的话,我想避免更改Python脚本并支持使用正确的语法来引用param2对象数组中的属性(如果存在这样的语法)。