如题,程序第4行开始,for循环接if判断,之后的name=self._nic_ovs_name_pattern.search(o) 指的是if条件判断返回true才执行赋值操作吗?还是if返回False执行的呢?最后一行的return ovs_nics,是什么条件满足后返回的呢?这个函数的整体执行顺序看的不是太明白,还请指教,谢谢.def __extract_ovs_nic_detail(self, output): ovs_nics = [] ovs_nic = {} for o in output.split('\n'): if '_uuid : ' in o: ovs_nic = {} name = self._nic_ovs_name_pattern.search(o) if not name is None: ovs_nic['name'] = name.group(2).strip('\"') mac = self._nic_ovs_mac_pattern.search(o) if not mac is None: ovs_nic['mac'] = mac.group(2).strip('\"') mtu = self._nic_ovs_mtu_pattern.search(o) if not mtu is None: ovs_nic['mtu'] = mtu.group(2) speed = self._nic_ovs_speed_pattern.search(o) if not speed is None: ovs_nic['speed'] = str(int(speed.group(2)) / 1000000) + 'Mb/s' if 'type : ' in o: ovs_nics.append(ovs_nic) return ovs_nics
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
就你给出的代码:
只要进入了 for 循环 name=self._nic_ovs_name_pattern.search(o)
就会执行,而跟 if '_uuid : ' in o:
判断真假无关
在任何情况下,return ovs_nics
语句都会返回
- 1 回答
- 0 关注
- 1507 浏览
添加回答
举报
0/150
提交
取消