Pythonのサブネット操作記事

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()

おすすめ

転載: www.cnblogs.com/jbite9057/p/12107677.html