Python属性错误:类型对象'_socketobject'没有'gethostbyname'属性

11 投票
2 回答
43304 浏览
提问于 2025-04-15 16:44

我在我的程序中想要做这个:

dest = socket.gethostbyname(host)

我在文件的开头加了这一行:

from socket import * 

但是我遇到了这个错误:

AttributeError: 类型对象 '_socketobject' 没有属性 'gethostbyname'

我在使用64位的Vista系统。是不是我的操作系统有问题?我已经关闭了防火墙和所有相关设置。

2 个回答

2

在你使用了 from socket import * 之后,你只需要直接调用 gethostbyname 这个名字就可以了,因为现在 socket 这个名字指的是一种类型,而不是模块。顺便说一下,使用 import * 是个很糟糕的做法:最好用 import socket,然后 这样 socket.gethostbyname 就能正常工作了!

20

你应该使用

import socket
dest = socket.gethostbyname(host)

或者使用

from socket import *
dest = gethostbyname(host)

注意:第一个选项是最推荐的选择。

撰写回答