Python如何从Azure VNET JSON文件中提取subnet名称与addressPrefix值
解决方法
你的代码问题是取值层级不足,当前仅获取了properties字典对象,没有深入字典内部取出addressPrefix字段的值,仅需调整print语句的取值路径即可实现需求。
具体修改点
将你原有代码print语句里的subnet[s]["properties"]修改为subnet[s]["properties"]["addressPrefix"]即可。
优化后的完整代码(更符合Python最佳实践)
import json # 使用with上下文管理器自动处理文件关闭,避免资源泄漏 with open('./Dev-Env-VNET-vnet-details.json', 'r', encoding='utf-8') as vnet_data: vnet_json = json.load(vnet_data) subnets = vnet_json['properties']['subnets'] # 直接遍历subnet列表元素,无需索引遍历,代码更简洁易读 for subnet in subnets: print(f"Subnet name: {subnet['name']}, addressPrefix: {subnet['properties']['addressPrefix']}")
运行后输出结果
Subnet name: default, addressPrefix: 10.0.0.0/24 Subnet name: Dev-LAN, addressPrefix: 172.16.0.0/24
内容的提问来源于stack exchange,提问作者user3458035
相关产品推荐
相关产品推荐

