[Tutor] Socket Module
Nym City
nymcity at yahoo.com
Mon Jul 20 01:55:33 CEST 2015
Thank you for your response. I gave it another try:
As suggested, first I ran the concept just in the terminal, and it worked fine:
>>> names =['173.252.120.6', '98.139.183.24']
>>> import socket
>>> for name in names:
socket.gethostbyaddr(name)
print(name)
output:
('edge-star-shv-12-frc3.facebook.com', [], ['173.252.120.6'])
('ir2.fp.vip.bf1.yahoo.com', [], ['98.139.183.24'])
However, when I run it in a program, from a CSV file, it just outputs the content of the CSV file without running it thought socket.gethostbyaddr():
import csv
import socket
domains = []
with open('top500ips.csv', 'r') as f:
for line in f:
line = line.strip()
domains.append(line)
for name in domains:
socket.gethostbyaddr(name)
print(name)
output:
173.252.120.6
98.139.183.24
What am I missing? Thank in advance.
Thank you.
On Saturday, July 18, 2015 7:09 PM, Danny Yoo <danny.yoo at gmail.com> wrote:
On Jul 18, 2015 3:50 PM, "Nym City via Tutor" <tutor at python.org> wrote:
>
> Thank you all for your responses. I have a follow up question:
>
> So if gethostbyname_ex() takes only a single hostname string, how can I use it to go through a list of hostnames and get their IP resolution as an output?
>
Look into loops. If you have a function that works on a single thing, you can use a loop to apply that function for each element in a list. Any good tutorial should show how to do this.Let us know if you run into difficulties.
More information about the Tutor
mailing list