info()函数中,还引入了异常处理机制,也就是try_except语句组。这就说明,如果执行函数gethostbynameO的过程中发生了错误,礙会由try_except块处理。_因此,如果在代码中修改,将原来的网站地址改成一个不存在的地址。则程序运行的结果会如下::[Ermo-5]Noaddressassociatedwithhostname.如果要使用低层网络函数,有时候普通的字符串形式的IP地址并不是很有用,需要把它们转换成打包后的32位二进制格式。Python的socket库提供了很多用来处理不同IP地址格式的函数,其中有两个可以使用:inet_aton(),inet_ntoa().例如这样一段代码:importsocketfrombinasciiimporthexlifydefconvert_ip4_address():forip_addrin[*127.0.0」丁192.168.0.1*]:packed_ip_addr=socket.inet_aton(ip_addr)unpacked_ip_addr=socket.inet_ntoa(packed_ip_addr)print"IPAddress:%s=>Packed:%s,Unpacked:%s"\%s(ip_addr5hexlify(packed_ip_addr),unpacked_ip_addr)if_name_==l_main_convert_ip4_address()这段代码。使用forjn语句把两个字符串形式的IP地址转换成打包后的32位二进制格式,并且还调用了binascii模块中的hexlify函数,以十六进制形式表示二进制数据。目前,刚刚接触socket库,懂得的知识还不是很多,但已经感觉到了python的强大之处。接下来,会继续沿着这个方向学习,相信python—定会给我带来许许多多的欢乐!