[[], [], [], [<main.DataRecord object at 0x00000200B14D03C8>, <main.DataRecord object at 0x00000200B14CDAC8>, <main.DataRecord object at 0x00000200B148BD08>], ‘无法判断’, [<main.DataRecord object at 0x00000200A4519148>, <main.DataRecord object at 0x00000200B14D4288>, <main.DataRecord object at 0x00000200B1489648>, <main.DataRecord object at 0x00000200B148BBC8>, 提取其中的bc1_current 和 bc2_current,遇到空列表或者无法判断时进行跳过
时间: 2024-03-06 21:51:39 浏览: 235
MediaTek_2625_Datasheet.pdf
可以使用 try-except 语句来处理空列表或无法判断的情况,并使用 hasattr() 函数来判断对象是否有指定的属性(如 bc1_current 或 bc2_current)。
示例代码如下:
```
for record in data:
bc1_current = None
bc2_current = None
try:
if record and hasattr(record, 'bc1_current'):
bc1_current = record.bc1_current
if record and hasattr(record, 'bc2_current'):
bc2_current = record.bc2_current
except:
continue
# 对 bc1_current 和 bc2_current 进行相应的处理
print(bc1_current, bc2_current)
```
在这个例子中,首先将 bc1_current 和 bc2_current 的值初始化为 None。然后使用 try-except 语句处理可能出现的异常情况。在 try 语句块中,使用 if 语句和 hasattr() 函数来判断 record 对象是否存在 bc1_current 和 bc2_current 属性。如果存在,就将对应的值赋给 bc1_current 和 bc2_current。如果不存在或出现异常,就使用 continue 语句跳过当前循环。最后,对 bc1_current 和 bc2_current 进行相应的处理,这里只是简单地输出它们的值。
阅读全文