我的json文件看起来像这样,我正在尝试syslog
在for循环中访问元素。
{
"cleanup":{
"folderpath":"/home/FBML7HR/logs",
"logfilename":""
},
"preparation":{
"configuration":{
"src_configfile":"src.cfg",
"dest_configfile":"/var/home/FBML7HR/etc/vxn.cfg"
},
"executable_info1":[
{
"login_info":{
"hostname":"10.4.0.xxx",
"username":"***",
"password":"***"
}
},
{
"command":{
"folderpath":"/var/home/FBML7HR/SrcCode/vxnservers/fdchost/north/test/hostsim/",
"processname":"northhostsim",
"parameters":"-d"
}
}
],
"executable_info2":[
{
"login_info":{
"hostname":"10.4.0.xxx",
"username":"***",
"password":"***"
}
},
{
"command":{
"folderpath":"/var/home/FBML7HR/SrcCode/vxnservers/fdchost/north/build/Linux-2.6.18-194.8.1.el5/bin",
"processname":"northhost",
"parameters":"-s brazil -d"
}
}
],
"executable_info3":[
{
"login_info":{
"hostname":"10.4.0.xxx",
"username":"***",
"password":"***"
}
},
{
"command":{
"folderpath":"cd /var/home/xxx/SrcCode/vxnservers/fdchost/north/test/vxnclient_mt",
"processname":"vxnclient_north_mt",
"parameters":"0 320 205 14897 16880 60000 60000 2 2"
}
}
]
},
"execution":[
{
"test_case":{
"scriptname":"/var/home/FBML7HR/test/testcase1.sh",
"testreport":{
"syslog":"/var/log/messages",
"backupsyslog":"backuplogs1.txt",
"clientsimlog":"/var/home/FBML7HR/test/out.log",
"backupclientsimlog":"Clientlogs1.txt"
}
}
},
{
"test_case":{
"scriptname":"/var/home/FBML7HR/test/testcase2.sh",
"testreport":{
"syslog":"/var/log/messages",
"backupsyslog":"backuplogs2.txt",
"clientsimlog":"/var/home/FBML7HR/test/out.log",
"backupclientsimlog":"Clientlogs2.txt"
}
}
}
],
"verification":{
"testreport":{
"syslog":"/var/log/messages",
"backupsyslog":"backuplogs.txt",
"reportfilename":"/var/home/FBML7HR/test/out.log",
"backuplogfile":"Clientlogs.txt"
}
}
}
我这样做是这样的:
for i in data['execution']:
cmd = data['execution'][i]['test_case']['scriptname']
但是我收到错误消息:“ TypeError:列表索引必须是整数,而不是dict”。我是python(和json)的新手。有人可以建议我要去哪里错吗?
您遍历该 值 通过引用的名单data['execution']
, 没有 指标。
只需 直接 使用这些值(字典):
for i in data['execution']:
cmd = i['test_case']['scriptname']
您可能想给它一个更有意义的循环名称:
for entry in data['execution']:
cmd = entry['test_case']['scriptname']
问题内容: 我正在学习使用Python和API(特别是此世界杯API,http://www.kimonolabs.com/worldcup/explorer) JSON数据如下所示: 我只是试图打印此API中的所有名字。这是我所拥有的: 但是当我运行它时,出现错误“ … TypeError,… TypeError:列表索引必须是整数,而不是str”。 我四处寻找解决方案,但似乎发现了更多“更深入”
问题内容: 我有两个列表,我想合并到一个数组中,最后将其放入一个csv文件中。我是使用Python数组的新手,但我不明白如何避免出现此错误: 并得到: 我的计数工作如何? 问题答案: 首先,应为整数而不是字符串: 其次,您的循环应使用构造: 第三,将自动增加,因此删除以下行: 注意,给定两个列表的长度相同,它们也可以只是两个列表:
问题内容: 我目前正在尝试从发布请求响应中解析一些数据,并且不断收到此错误:“ TypeError:列表索引必须是整数或切片,而不是str” Python代码 JSON回应 我做了类似的代码,但这是一个get请求,一切都很好。 问题答案: 是一个数组,因此您不需要int,可以在after之后添加,它应该可以工作。然后,您可以在中引用对象内的键。
我目前正试图解析get请求响应中的一些数据,但我一直遇到这样的错误:“TypeError:列表索引必须是整数或片,而不是str” 如果有人能帮我解决我想解决的问题,那就太好了。提前非常感谢你。
我一直得到错误: TypeError:列表索引必须是整数或片,而不是元组 尽管如此,就我有限的理解而言,列表索引是一个整数。 此代码: 给我上面的TypeError。 虽然当我这样做的时候: 这是怎么回事?
问题内容: 我正在努力使机器人围绕8 x 8的2d网格室移动,其中一部分正在初始化传感器,该传感器由围绕机器人的最近5个瓦片组成。 在这里,我创建了一个由5个元素组成的数组。 但是当我尝试像这样设置传感器的值时: 我得到“列表索引必须是整数,而不是元组”的错误。 问题答案: 您说的是一个“二维网格”-我假设它是一个列表列表。在这种情况下,您应该以以下方式访问其元素 而不是用该对索引外部列表。