Guest

judogeek

By: a guest on Jul 31st, 2008  |  syntax: Python  |  size: 1.27 KB  |  hits: 79  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. import socket, struct, csv
  2.  
  3. def numToDottedQuad(n):
  4.     "convert long int to dotted quad string"
  5.     return socket.inet_ntoa(struct.pack('!L',n))
  6.  
  7.     "returns tuple (network, host) dotted-quad addresses given IP and mask size"
  8.     # (by Greg Jorgensen)
  9.  
  10.     n = dottedQuadToNum(ip)
  11.     m = makeMask(maskbits)
  12.  
  13.     host = n & m
  14.     net = n - host
  15.  
  16.     return numToDottedQuad(net), numToDottedQuad(host)
  17.        
  18. reader = csv.reader(open("networks.csv", "rb"))
  19. out = open("networks_conv.csv", "w")
  20.  
  21. out.write('network,mask,name\n')
  22. for row in reader:
  23.         out.write(numToDottedQuad(long(row[0])) + ',' + numToDottedQuad(long(row[2])) + ',' + row[1] + '\n')
  24.  
  25. out.close
  26.  
  27. reader = csv.reader(open("subnets.csv", "rb"))
  28. out = open("subnets_conv.csv", "w")
  29.  
  30. out.write('network,subnet,mask,name\n')
  31. for row in reader:
  32.         out.write(numToDottedQuad(long(row[0])) + ',' + numToDottedQuad(long(row[1])) + ',' + numToDottedQuad(long(row[2])) + ',' + row[3] + '\n')
  33.  
  34.         out.close
  35.  
  36. reader = csv.reader(open("address.csv", "rb"))
  37. out = open("addresses_conv.csv", "w")
  38.  
  39. out.write('network,subnet,address,name\n')
  40. for row in reader:
  41.         out.write(numToDottedQuad(long(row[0])) + ',' + numToDottedQuad(long(row[1])) + ',' + numToDottedQuad(long(row[2])) + ',' + row[3] + '\n')
  42.  
  43.         out.close