你想要用dv['CapacityBytes']这种直接取值的方式,同时保证在取不到值时返回空值(避免抛出 KeyError 异常),这在 Python 中需要做异常处理或用更安全的写法。
方法1:使用 try-except 处理异常(最贴合你指定的[]取值方式)
这种方式直接捕获[]取值时可能出现的KeyError异常,取不到值就返回空字符串:
try:capacity=dv['CapacityBytes']exceptKeyError:capacity=""# 最终赋值写法"capacity":capacity方法2:简化写法(一行完成,推荐)
如果不想写 try-except 块,用字典的get()方法是 Python 中更简洁、更符合最佳实践的安全取值方式,效果和[]取值+异常处理完全一致:
# 取不到 'CapacityBytes' 就返回空字符串 """capacity":dv.get('CapacityBytes',"")# 如果你想返回 None(空值),可以省略第二个参数# "capacity": dv.get('CapacityBytes')补充说明
- 空值可以根据你的需求选:空字符串
""、None、空列表[]等,只需修改get()的第二个参数或 except 块里的赋值即可。 dv['CapacityBytes']是“硬取值”,键不存在会直接报错;dv.get()是“软取值”,键不存在会返回指定的默认值,更适合不确定键是否存在的场景。
总结
- 用
[]取值需配合try-except KeyError才能返回空值,避免报错; - 推荐用
dv.get('CapacityBytes', "")一行完成,更简洁且符合 Python 最佳实践; - 核心逻辑:确保键不存在时,最终赋值为你需要的“空值”(如空字符串、None)。