2009-12-07 23 views
10

Je suis en train de le faire dans mon programme:erreur d'attribut Python: objet type '_socketobject' n'a pas d'attribut 'gethostbyname'

dest = socket.gethostbyname(host) 

J'ai inclus la ligne:

from socket import * 

dans le début du fichier.

Je reçois cette erreur:

AttributeError: type object '_socketobject' has no attribute 'gethostbyname'

Je courais Vista 64bit. Pourrait-il y avoir un problème avec mon système d'exploitation? J'ai refusé mon pare-feu et tout.

Répondre

2

Après from socket import *, vous devez appeler uniquement le nom de barre gethostbyname - le nom de barre socket fait maintenant référence à un type, pas au module. Que import * est une pratique horrible, soit dit en passant: faire, à la place, import socket, et puissocket.gethostbyname fonctionnera très bien!

13

Vous utilisez shoulod soit

import socket 
dest = socket.gethostbyname(host) 

ou utilisez

from socket import * 
dest = gethostbyname(host) 

Note: la première option est de loin celle qui est recommandée.

+1

Yayyyy !!!! Ça a marché!! Merci beaucoup, j'ai une mission à présenter demain et votre réponse m'a été d'une grande aide. Je ne savais pas, une si petite erreur pouvait causer un tel problème majeur. Merci encore, j'apprécie vraiment votre réponse rapide .. Merci. – Sheela

+1

@Sheela vous pouvez apprécier encore plus en acceptant cela comme une réponse :) – holgac