python2.7_1.4_将IPV4地址转换成不同的格式

代码如下:

# -*- coding: utf-8 -*-
import socket
from binascii import hexlify


def convert_ip4_address():
    '''如果要使用低层网络函数,有时普通的字符串形式
    的IP地址并不是很有用,需要把他们转换成打包后的32位二进制格式'''

    for ip_addr in ['127.0.0.1', '192.168.0.1']:
        # 把字符串形式的IP地址转换成打包后的32位二进制格式
        packed_ip_addr = socket.inet_aton(ip_addr)
        # 把32位二进制格式的IP地址转换成字符串形式
        unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)
        # 调用binascii模块中hexlify函数,以十六进制形式表示二进制数据
        print 'IP Address:%s => Packed:%s,Unpacked:%s'
            % (ip_addr, hexlify(packed_ip_addr), unpacked_ip_addr)

if __name__ == '__main__':
    convert_ip4_address()

运行后

IP Address:127.0.0.1 => Packed:7f000001,Unpacked:127.0.0.1
IP Address:192.168.0.1 => Packed:c0a80001,Unpacked:192.168.0.1
原文地址:https://www.cnblogs.com/jsben/p/5166966.html