擅长:python、mysql、java
<p>考虑将<code>try/except</code>结构拆分为一个函数,如果调用成功,则返回<code>True</code>,如果调用失败,<code>False</code>,然后使用例如<code>all()</code>来查看它们是否都成功:</p>
<pre><code>def initfunc(structure, attrname, address, desc):
try:
var = Voltmeter(address.value)
setattr(structure, attrname, var)
return True
except(visa.VisaIOError):
structure.logger.warning('%s is not on or not on this channel' % (desc,))
if all([initfunc(*x) for x in [(private, 'anodization_voltage_meter', voltage_meter_address, 'Volt Meter'), ...]]):
private.logger.info('Meters initialized')
</code></pre>