2017-11-06 3 views
0

Geben Sie eine Liste der in .csv Arbeitsmappe gespeicherten DNS, wie über die Liste dieser DNS-Ping sie iterieren dann eine Liste von IP-Adressen drucken? Der folgende Code funktioniert nicht ordnungsgemäß.Ping-Liste der DNS-Adresse und Rückgabe IP-Adresse in Python

import csv 


with open('masterlist.csv', 'r') as f: 
    reader = csv.reader(f) 
your_list = list(reader) 
response = os.system("ping -c 1 " + your_list) 
print(your_list) 

Antwort

0

Angenommen, der Inhalt der Datei masterlist.csv wie folgt aussieht:

google.com 
stackoverflow.com 

Dies funktioniert unter Windows. Die Subprozessbibliothek ist eine Obermenge von os.system und sollte stattdessen verwendet werden.

from subprocess import check_output 

def get_ip(domain): 
    # quick and dirty way of retrieving the ip address, 
    # better use regular expression 
    response = check_output(['ping', '-n', '1', domain]).split()[2] 
    return response.decode('utf8') 

with open('masterlist.csv', 'r') as f: 
    ip_addresses = {domain: get_ip(domain) for domain in f.read().splitlines()} 

print(ip_addresses) 
Verwandte Themen