我正在尝试将一些数据附加到python内部的JSON文件中。 它将CVE-ID添加到我的客户JSON文件中。
我自己无法解决此问题。如果我在追加后打印字典,则显示预期结果。
但是似乎该文件不会在追加之后写入。我还尝试过在“附加行”之后使用json.dump()
-但也没有成功。
此刻我的代码如下:
with open("test.json", "r+") as customerdata:
customers_json = json.load(customerdata)
# some other code here...
if cve["cve"]["CVE_data_meta"]["ID"] not in customer["customer"]["already-sent-cve"]:
customers_json["customers"][0]["customer"]["already-sent-cve"].append(cve["cve"]["CVE_data_meta"]["ID"])
我的JSON文件如下:
{
"customers":[
{
"customer":{
"id":"1",
"company-name":"test GmbH",
"alert-email":"xyz@googlemail.com",
"using":[
"xxx",
"xyz"
],
"already-sent-cve":[
"CVE-2013-3738"
# here new CVE
]
}
},
{
"customer":{
"id":"2",
...
}
]
}
仅供参考:还有另一个带有CVE的JSON文件,我正在从该文件中收集数据。
任何建议如何解决这个问题?
致谢。
能够解决此问题:
with open("test.json", "w") as customerdata:
customers_json["customers"][0]["customer"]["already-sent-cve"].append(cve["cve"]["CVE_data_meta"]["ID"])
json.dump(customers_json, customerdata, indent=2)
答案 0 :(得分:1)
您需要将数据写回到文件中
with open('test.json', 'w') as customerdata:
json.dump(customers_json, customerdata)