Skip to main content
 首页 » 编程设计

python : simplify try/except code

2025年05月04日10artech

抱歉,如果标题不够解释,但这是我能想到的最好的。这是我的代码的一部分,一个将文件从 Xilog3 转换为 woodWOP 格式(cnc 程序)的 python 脚本。

try: 
    print >>woodWOPfile, 'YA="%s"' %xbo['Y'] 
except KeyError: 
    xbo['Y']=xbo_prev['Y'] 
    print >>woodWOPfile, 'YA="%s"' %xbo['Y'] 

这会将字典键项打印到输出文件。如果 key 不存在,我想从以前版本的字典 xbo_prev 加载它,它是在每个新行读取周期之前从 xbo 复制的。

两次使用打印规则似乎很愚蠢,但这是我能想到的最好的。有没有办法简化这个?

谢谢 :).

请您参考如下方法:

你可以简单地使用dict.setdefault:

print woodWOPfile, 'YA="%s"' % xbo.setdefault('Y', xbo_prev['Y']) 

如果键 Y 存在于映射中,这将获取对应于键 Y 的值,否则将其设置为第二个参数并返回。