例子:IP:192.168.1.10
方法一:
In [1]: bin(192)
Out[1]: '0b11000000'
In [2]: bin(168)
Out[2]: '0b10101000'
In [4]: bin(1)
Out[4]: '0b1'
In [5]: bin(10)
Out[5]: '0b1010'
所以192.168.1.10 转换成整数:3232235786
In [6]: 0b11000000101010000000000100001010
Out[6]: 3232235786
方法二:
In [7]: 192*256**3+168*256**2+1*256**1+10*256**0
Out[7]: 3232235786
##########实战代码####################
[root@master script]# cat ip.py #!/usr/bin/python # coding:utf-8 def ip2int(): ip = raw_input('请输入需要转换成数字的IP(例如:192.168.1.10): ') ip_list = ip.strip().split('.') ip_int = int(ip_list[0])*256**3+int(ip_list[1])*256**2+int(ip_list[2])*256**1+int(ip_list[3])*256**0 return ip_int #def int2ip(num): # iplist = [] # for n in range(4): # num,mod = divmod(num,256) # iplist.append(str(mod)) # rip = iplist[::-1] # rip_num = '.'.join(rip) # return rip_num def int2ip(): num = int(raw_input('请输入需要转换成IP的整数: ')) iplist = [] for n in range(4): num,mod = divmod(num,256) iplist.insert(0,str(mod)) return '.'.join(iplist) def show_menu(): CMDs = {'1':ip2int,'2':int2ip} while True: prompt = """