subnetcalc.py
クラスSubnetCalc(オブジェクト): デフ __init__ (自己、ネットワーク、マスク): self.network = network.split(" " ) self.msk = mask.split(" " ) @property DEF サブネット(自己): 戻り" 。" .join(self.network) @propertyはデフ(自己)マスク: リターンを" 。" .join(self.msk)デフ_MaskToBin(自己): binarymask = '' のための私で self.msk: binarymask + =ビン(INT(I))[2]。zfill(8 ) リターンbinarymaskの @property DEF 最初の(自己): firstIP = self.network.copy() firstIP [ 3] = STR(INT (firstIP [3])+ 1 ) リターン " " .join(firstIP)DEF specifyIP(自己、NUM): スペック = self.network.copy() 仕様[ 3] = STR(NUM) リターン" " .join (スペック)デフplusNIP(自己、NUM): NIP = self.first.split(" " ) NIP [ 3] = STR(INT(ニップ[3])+ INT(NUM)) リターン" " .join(NIP) @property DEF BROADCASTIP(自己): brcstIP = self.network.copy() FIP = self.first.split(" ")[3 ] brcstIP [ 3] = INT(FIP)+ (INT(self.countIP())) brcstIP [ 3] = STR(brcstIP [3 ]) リターン" " .join(brcstIP) @property DEF 最後の(自己): LIP = self.broadcastIP.split(" " ) LIP [ 3] = STR(INT(LIP [3]) - 1 ) リターン" " .join(LIP)DEF countIP(自己): マスク = INT(' 11111111111111111111111111111111 '、2 ) sub_mask = INT(self._MaskToBin()、2 ) リターン INT(マスク^ sub_mask) - 1
f.write( "プール{\ n ")f.write(" フェイルオーバー・ピア\ "dhcpfailover \"; \ n ")f.write(" レンジ%S%; \ n" %(subnetHK.plusNIP(5) 、subnetHK.last))f.write( "} ")f.write("} \ n")、I + = 1f.close()