追溯(最近一次呼叫最近):AttributeError中的文件“”,行1,模块“ socket”没有属性“ close”

时间:2018-07-31 12:33:42

标签: python sockets network-programming gethostbyname

我需要编写一个程序来检索域名列表的IP地址。简单的示例可以在此处显示:

>>> import socket
>>> socket.gethostbyname('google.com')
'172.217.160.14'
>>> socket.close()

尝试关闭套接字后,出现此错误:

  

回溯(最近一次通话最后一次):文件“”,第1行,在    AttributeError:模块“套接字”没有属性“关闭”

如何关闭此插座?我需要关闭它,因为我的实际程序存在循环,需要在列表中的每个域名中获取其IP,因此我需要在每次迭代中为新主机关闭套接字。

你能告诉我是什么问题吗?

2 个答案:

答案 0 :(得分:1)

您既不在此处创建套接字,也不会将其绑定到任何端口。 socket.gethostbyname('google.com')的作用是将主机名转换为IPv4地址格式。方法.close()在打开的连接中有效。

答案 1 :(得分:1)

您的代码中的socket指的是socket模块,该模块没有close功能。 Python 3.7中添加了新的模块级别close函数,但是它需要套接字描述符作为参数。如果我做对了,您想调用socket object的close方法,而不是模块。就您而言,您无需关闭任何连接。