Python Network Programming(2)---地址转换函数

来源:互联网 发布:英本网linux内核视频 编辑:程序博客网 时间:2024/06/01 10:15

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

  • inet_aton()—普通字符串的点分十进制–>32位二进制
  • inet_ntoa()—32位二进制格式–>点分十进制
__author__ = 'liyuan35023'# !/home/mimiasd/PycharmProjects/workspace python27import  socketfrom binascii import hexlifyip_addr_list=['127.0.0.1', '192.168.0.1']def convert_ipv4_address():    for ip_addr in ip_addr_list:        packed_ip_addr = socket.inet_aton(ip_addr)        unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)        print 'IP Address: %s => Packed: %s, Unpacked: %s'\              %(ip_addr, hexlify(packed_ip_addr), unpacked_ip_addr)if __name__ == '__main__':    convert_ipv4_address()

代码中还调用了binascii模块的hexlify函数,以十六进制的形式表示二进制数据。

0 0
原创粉丝点击