1

我正在编写一个简单的 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 对象数组中的属性(如果存在这样的语法)。

4

0 回答 0