使用AW的Python脚本更新JSON对象

2024-10-01 02:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

为了在AWS中使用CLI,我需要更新一堆JSON对象。 下面是一个JSON格式的示例。我需要用不同的值更新lbtest、lbtest cookie pol和80。在

{
    "LoadBalancerName": "lbtest", 
    "PolicyName": "lbtest-cookie-pol", 
    "CookieExpirationPeriod":80 
}

在某些情况下,对于每个负载平衡器名称,这里会有多个值。 输出需要如下所示:

^{pr2}$

假设我有一个包含所有这些条目的CSV文件,我可以编写什么样的python脚本来遍历这些条目并打印出JSON输出?我遇到问题的部分是嵌套JSON对象的打印。print似乎不喜欢多行或大括号。新手,所以我会很感激任何一种解决方案。在


Tags: 对象名称awsjson示例clicookie格式
1条回答
网友
1楼 · 发布于 2024-10-01 02:27:42

你可以用json.dumps文件方法及其在documentations中提到的选项:
例如,在Python2.7上使用缩进选项可以得到:

>>> dictionary = {
    "LoadBalancerName": "lbtest", 
    "PolicyName": "lbtest-cookie-pol", 
    "CookieExpirationPeriod":80 } #a dictionary object made from csv
>>> print dictionary
{'PolicyName': 'lbtest-cookie-pol', 'CookieExpirationPeriod': 80, 'LoadBalancerName': 'lbtest'}
>>> import json
>>> jobj = json.dumps(dictionary,indent=4, separators=(',', ': '))
>>> print jobj
{
    "PolicyName": "lbtest-cookie-pol",
    "CookieExpirationPeriod": 80,
    "LoadBalancerName": "lbtest"
}
>>> f = open(r'jtest.txt','w') #save our json object to file
>>> json.dump(dictionary,fp,indent =4 , seperators = (',',': '))
>>> f.close()
>>> f = open(r'jtest.txt!','r') #read our object from file
>>> test = json.load(f)
>>> test
{u'PolicyName': u'lbtest-cookie-pol', u'CookieExpirationPeriod': 80, u'LoadBalancerName': u'lbtest'}
>>> dict(test)
{u'PolicyName': u'lbtest-cookie-pol', u'CookieExpirationPeriod': 80, u'LoadBalancerName': u'lbtest'}

以下是我们的文件: jtest.txt file

相关问题 更多 >