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