Conversion from IP string to integer, and backward in Python

后端 未结 11 847
囚心锁ツ
囚心锁ツ 2020-12-07 22:34

i have a little problem with my script, where i need to convert ip in form \'xxx.xxx.xxx.xxx\' to integer representation and go back from this form.

def ipto         


        
11条回答
  •  独厮守ぢ
    2020-12-07 22:49

    In pure python without use additional module

    def IP2Int(ip):
        o = map(int, ip.split('.'))
        res = (16777216 * o[0]) + (65536 * o[1]) + (256 * o[2]) + o[3]
        return res
    
    
    def Int2IP(ipnum):
        o1 = int(ipnum / 16777216) % 256
        o2 = int(ipnum / 65536) % 256
        o3 = int(ipnum / 256) % 256
        o4 = int(ipnum) % 256
        return '%(o1)s.%(o2)s.%(o3)s.%(o4)s' % locals()
    
    # Example
    print('192.168.0.1 -> %s' % IP2Int('192.168.0.1'))
    print('3232235521 -> %s' % Int2IP(3232235521))
    

    Result:

    192.168.0.1 -> 3232235521
    3232235521 -> 192.168.0.1
    

提交回复
热议问题