def _read(self): #如果有重名,则以后面一个为准,因为实际上bash也是这么做的,后定义的alias会覆盖前面重名的。 #with open(os.path.expanduser(self.__path), 'r') as f: with open(os.path.expanduser(self.__path), 'a+') as f: alltext = f.read() for matched in self._findall(alltext): r = Record() if r.parse(matched): swap_out = self.__records_index_name.get(r.getName(), None) if swap_out: self.__records_list.remove(swap_out) self.__records_index_name[r.getName()] = r self.__records_list.append(r)
def _read(self): #如果有重名,则以后面一个为准,因为实际上bash也是这么做的,后定义的alias会覆盖前面重名的。 #with open(os.path.expanduser(self.__path), 'r') as f: with open(os.path.expanduser(self.__path), 'a+') as f: alltext = f.read() for matched in self._findall(alltext): r = Record() if r.parse(matched): swap_out = self.__records_index_name.get(r.getName(), None) if swap_out: self.__records_list.remove(swap_out) self.__records_index_name[r.getName()] = r; self.__records_list.append(r)
def parse(self, parse=None): thisPart = Record.parse(self, parse) self.alertLevel = int.from_bytes(thisPart[0:1], 'big') self.alertDescription = int.from_bytes(thisPart[1:2], 'big')
def parse(self, parse=None): thisPart = Record.parse(self, parse) self.handshakeType = int.from_bytes(thisPart[0:1], 'big') dataLength = int.from_bytes(thisPart[1:4], 'big') return thisPart[4:]