在开发过程中,往往会遇到很多bug,但有一些bug比较特别,容易重复出现,所以在此记录一下,防止重复踩坑。
本帖子会持续更新,持续记录开发过程中遇到的问题
二、问题详情 1. if 判断相关原始代码:
bk_cloud_id = ip_data.get("bk_cloud_id") if ip_data.get("bk_cloud_id") else
ip_data["hostList"][0]["bk_cloud_id"]
以上代码的本意是:当bk_cloud_id有值时,就直接获取bk_cloud_id的值。但是,如果bk_cloud_id的值为0时,if 0等价于if False,取不到0值。
本人已经两三次看到这个问题了,是因为在写代码时,用的时get获取值,往往忽略了特殊值的存在。
修改后的代码:
bk_cloud_id = ip_data.get("bk_cloud_id") if str(ip_data.get("bk_cloud_id")) else
ip_data["hostList"][0]["bk_cloud_id"]



