如何简化Python中检测工作流页面的重复try-except代码块?
简化重复try-except块的方案
你可以把检测逻辑封装成函数与对应名称的映射列表,通过循环统一处理,彻底消除重复的try-except代码:
def detect_planning_workflow_page(): # 定义检测函数与对应workflow名称的映射 workflow_checks = [ (DR, "DR"), (LL, "LL"), (AZ, "AZ"), (SP, "SP"), (MS, "Define Region"), ] for check_func, workflow_name in workflow_checks: try: if check_func().visible: return workflow_name # 找到匹配项直接返回,无需继续检查 except LookupError: continue # 找不到对象就跳过,继续下一个检测 return None # 所有检测都不匹配时返回None
优化点说明
- 消除重复代码:只需要写一次try-except逻辑,循环处理所有检测项
- 可维护性提升:后续要新增检测,只需要在
workflow_checks列表里添加新的元组即可 - 性能优化:找到第一个匹配的项就直接返回,避免不必要的后续检测
内容的提问来源于stack exchange,提问作者LaBeaux
相关产品推荐
相关产品推荐

