Python 3.x python3-如何简化多个if/else语句
使用多个嵌套的if/else会使逻辑膨胀 如何简化以下代码 多个嵌套的if/else格式和逻辑非常难看Python 3.x python3-如何简化多个if/else语句,python-3.x,Python 3.x,使用多个嵌套的if/else会使逻辑膨胀 如何简化以下代码 多个嵌套的if/else格式和逻辑非常难看 有点进步 payload_dict={“进程”:无,“状态”:无,“任务id”:任务id,“jenkinsJobName”:任务名称,“消息”:无} 统计=0 如果srv_结果==“失败”且结果: logging.info(“srv启动失败”) 响应_数据={“errorMsg”:“失败”,“errorCode”:“2”,“serviceList”:结果} elif srv_结果==“失败”
有点进步
payload_dict={“进程”:无,“状态”:无,“任务id”:任务id,“jenkinsJobName”:任务名称,“消息”:无}
统计=0
如果srv_结果==“失败”且结果:
logging.info(“srv启动失败”)
响应_数据={“errorMsg”:“失败”,“errorCode”:“2”,“serviceList”:结果}
elif srv_结果==“失败”:
logging.info(“srv启动失败”)
响应_数据={“errorMsg”:“失败”,“errorCode”:“2”,“serviceList”:“srv启动失败”}
elif结果:
logging.info(f“失败的srv:{result}”)
响应_数据={“errorMsg”:“失败”,“errorCode”:“1”,“serviceList”:结果}
其他:
logging.info(“部署成功”)
response_data={“errorMsg”:“Suces”,“errorCode”:“0”,“serviceList”:result}
stat=1
_msg=json.dumps(响应数据,确保ascii=False)
有效负载目录更新(进程=1,状态=stat,消息=msg)
info(f“请求:{payload_dict}”)
将其折射到处理结果的方法中。这里的问题不是嵌套的条件,而是重复的代码。
payload_dict = {"process": None, "status": None, "taskId": task_id,
"jenkinsJobName": job_name, "msg": None}
if srv_result == "failed":
if result:
logging.info("srv start failed")
response_data = {"errorMsg": "failed", "errorCode": "2", "serviceList": result}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=0, msg=_msg)
logging.info(f"Requests:{payload_dict}")
else:
logging.info("srv start failed")
response_data = {"errorMsg": "failed", "errorCode": "2",
"serviceList": "srv start failed"}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=0, msg=_msg)
logging.info(f"Requests:{payload_dict}")
else:
if result:
logging.info(f"failed srv:{result}")
response_data = {"errorMsg": "failed", "errorCode": "1", "serviceList": result}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=0, msg=_msg)
logging.info(f"Requests:{payload_dict}")
else:
logging.info("deploy success.")
response_data = {"errorMsg": "sucess", "errorCode": "0", "serviceList": result}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=1, msg=_msg)
logging.info(f"Requests:{payload_dict}")