我使用API提取数据并检索服务器和备份的列表。有些服务器有多个备份。这就是我如何获得所有具有backaup id的服务器的列表。你知道吗
bkplist = requests.get('https://heee.com/1.2/storage/backup')
bkplist_json = bkplist.json()
backup_list = bkplist.json()
backupl = backup_list['storages']['storage']
Json如下所示:
{
"storages": {
"storage": [
{
"access": "",
"created": "",
"license": ,
"origin": "01165",
"size": ,
"state": "",
"title": "",
"type": "backup",
"uuid": "01019",
"zone": ""
},
首先,我创建一个字典来存储这些数据:
backup = {}
for u in backup_list['storages']['storage']:
srvuuidorg = u['origin']
backup_uuid = u['uuid']
backup[srvuuidorg] = backup_uuid
但是我发现每个服务器都有不止一个值。因为dictionary只能为一个键分配一个值,所以我想使用list和dictionary的混合,但是我不知道如何使用这个示例。你知道吗
服务器嵌套在存储中->;存储,我需要将两个uuid作为备份ID分配给一个源作为服务器ID
我知道collections模块,通过一个简单的示例可以理解,但是在我的示例中如何通过API提取数据时遇到了一个问题。你知道吗
如何提取origin并将存储在jsonuuid中的其他值赋给这个键?你知道吗
更重要的是,它是一个庞大的数据量,所以我不能添加每一个值手动。你知道吗
json允许在键中包含数组:
您可以为
origin
键存储uuid
列表。你知道吗我建议有以下两种方法:
list
以便首先访问origin
,然后附加到它:defaultdict
集合,基本上在引擎盖下对您也有相同的作用:在我看来,最后一条路更优雅。 如果您需要存储
uuid
唯一列表,您应该使用saem方法来处理set
,而不是list
。你知道吗你可以这样做。你知道吗
注意,可以这样简化循环。你知道吗
但这可能被认为是可读性较差。你知道吗
相关问题 更多 >
编程相关推荐