对不起,如果标题不够清晰,但这是我能想到的最好的.这是我的代码的一部分,一个python脚本将文件从Xilog3转换为woodWOP格式(cnc程序).
try: print >>woodWOPfile, 'YA="%s"' %xbo['Y'] except KeyError: xbo['Y']=xbo_prev['Y'] print >>woodWOPfile, 'YA="%s"' %xbo['Y']
这会将字典键项打印到输出文件.如果密钥不存在,我想从先前版本的字典xbo_prev加载它,该字典在每个新的行读取周期之前从xbo复制.
使用两次打印规则似乎很愚蠢,但这是我能想到的最好的.有没有办法简化这个?
谢谢 :).
你可以简单地使用dict.setdefault
:
print woodWOPfile, 'YA="%s"' % xbo.setdefault('Y', xbo_prev['Y'])
Y
如果它存在于映射中,则获取与key对应的值,否则将其设置为第二个参数并返回它.