Seite 1 von 1
Frage zu gethostbyaddr()
Verfasst: Donnerstag 21. Februar 2019, 16:33
von lzzp
Hi,
kurze Anfängerfrage:
das script unten funktioniert, nur leider hat es ein kleines Problem und zwar bricht es, wenn kein host zurückgegeben wird, ab.
Wie kann ich hier weiter vorgehen?
Code: Alles auswählen
import socket
ip = "192.168.1."
for x in range(0,255):
x = x+1
print(socket.gethostbyaddr(ip+str(x)))
vielen dank und beste Grüße
lzzzp
Re: Frage zu gethostbyaddr()
Verfasst: Donnerstag 21. Februar 2019, 16:47
von __deets__
Du kannst den range auch gleich von 1 bis 256 gehen lassen, dann sparst du dir das rumgerechne.
Dann solltest du mit Stringformatting arbeiten, zB
Code: Alles auswählen
ip_prefix = "192.168.1.{}"
for ...:
address = ip_prefix.format(x)
Und zu deiner eigentliche Frage: das Thema um das es geht heisst "Exception Handling" und sollte in jedem Grundlagentutorial ausreichend behandelt werden.
Re: Frage zu gethostbyaddr()
Verfasst: Donnerstag 21. Februar 2019, 17:13
von lzzp
Danke für den Tip!
Hab´s jetzt so umgebaut:
Code: Alles auswählen
import socket
ip = "192.168.1.{}"
for x in range(1,256):
address = ip.format(x)
print(socket.gethostbyaddr(address)
#print(address)
Leider klappt das nicht, es wird SyntaxError in line 8 angezeigt - das Script hat aber nur 7Zeilen?
LG
Re: Frage zu gethostbyaddr()
Verfasst: Donnerstag 21. Februar 2019, 17:15
von ThomasL
lzzp hat geschrieben: Donnerstag 21. Februar 2019, 16:33
Was soll denn das erhöhen der Schleifenvariable x in der Schleife bewirken?
Re: Frage zu gethostbyaddr()
Verfasst: Donnerstag 21. Februar 2019, 17:43
von __deets__
Du hast eine fehlende schließende Klammer.
Re: Frage zu gethostbyaddr()
Verfasst: Donnerstag 21. Februar 2019, 18:52
von __blackjack__
Das `ipadress`-Modul könnte hier auch nützlich sein.
Re: Frage zu gethostbyaddr()
Verfasst: Mittwoch 27. Februar 2019, 11:00
von martinb
fehlende schließende Klammer