2016-09-19 13 views
0

Ich versuche SuperNet-Liste von IP-Netzwerken mit Netaddr in Python.Datei als Eingabe in Python Netaddr

Code:

import netaddr 
from netaddr import * 
iplist = [IPNetwork('10.105.205.8/29'),IPNetwork('10.105.205.16/28'),IPNetwork('10.105.205.0/29')] 
print '%s' % netaddr.cidr_merge(iplist) 

** Ausgang: ** Welche tatsächlich funktioniert.

[IPNetwork('10.105.205.0/27')] 

Kann ich die Eingabe von einer Datei bereitstellen? welche enthält IP-Netzwerke in CSV-Dateien?

IP_Network.csv

8.35.196.0/23 
8.35.196.0/24 
8.35.197.0/24 
8.35.198.0/23 
8.35.198.0/24 
8.35.199.0/24 
8.35.200.0/21 
8.35.200.0/23 
8.35.200.0/24 
8.35.201.0/24 
8.35.202.0/23 

Antwort

0

Ich bin nicht mit dem netaddr Modul vertraut, aber mir scheint es, Sie sind nur eine Liste von den Eingängen zu bauen. Wenn Sie eine Eingabedatei mit einem Netzwerk in jeder Zeile haben, würde diese Arbeit:

with open ("inputfile", "r") as fp: 
    iplist = [IPNetwork(q) for q in fp.read().splitlines()] 

Hannu

Verwandte Themen