Lire une liste de noms d'hôtes et de résoudre les adresses IP
que j'essaie de lire un fichier texte et de les résoudre chaque adresse IP et (pour l'instant) juste cracher de nouveau à l'écran.
import socket
f = open("test.txt")
num_line = sum(1 for line in f)
f.close()
with open("test.txt", "r") as ins:
array = []
for line in ins:
array.append(line)
for i in range(0,num_line):
x = array[i]
print x
data = socket.gethostbyname_ex(x)
print data
Actuellement, je suis le suivant:
me@v:/home/# python resolve-list2.py
test.com
Traceback (most recent call last):
File "resolve-list2.py", line 15, in <module>
data = socket.gethostbyname_ex(x)
socket.gaierror: [Errno -2] Name or service not known
Googler que l'erreur ne semble pas m'aider...
Le fichier texte contient qu'une ligne à l'instant (test.com), mais j'obtiens la même erreur, même avec plusieurs lignes/des hôtes différents.
Des suggestions?
Merci!
L'exception est facile à expliquer: au moins l'un des noms d'hôte n'existe pas ou peut-être une ligne ne contenant pas d'un nom d'hôte, peut-être une ligne vide à la fin. Vous avez à gérer les deux cas.
Double Possible de python: vérifier si un nom d'hôte est résolu. une fois que vous comprendre comment résoudre le nom d'hôte à la propriété intellectuelle, la question devient comment itérer sur une liste de chaînes de caractères?'.
Double Possible de python: vérifier si un nom d'hôte est résolu. une fois que vous comprendre comment résoudre le nom d'hôte à la propriété intellectuelle, la question devient comment itérer sur une liste de chaînes de caractères?'.
OriginalL'auteur proggynewbie | 2016-01-03
Vous devez vous connecter pour publier un commentaire.
bizarre, la plate-forme ne vous exécutez votre script?
essayez de décapage le nom d'hôte? J'ai édité ma réponse comme ça
Parfait! La ligne.strip() fixe! Le fait d'en extraire des caractères supplémentaires ou quelque chose? Il ne devrait pas y avoir?? Sur ubuntu (nouvelle installation) juste pour info. Je vais le marquer comme réponse quand j'ai la réputation 🙂 Merci encore!
peut-être que le caractère de saut de ligne à la fin de la ligne sont les causes de cette erreur, qui est éliminé par le décapage
OriginalL'auteur YCFlame