Ed Hotchkiss wrote: > This script should just be writing every possibly IP (yea, there are > billions i know blah blah) to a txt file. Instead of just writing the > IP, it continues and the number goes past 4 groups. IE: The possible IP > keeps getting 3 characters longer every time. And at the end of the last > loops do I somehow have to set my mySet to NULL? Any ideas here? > > -- > edward hotchkiss > >
> > > > # Script to Evaluate every possible IP Address Combo, then write it to a > text file > # 9/15/05 > > # ipFileLocation = r"G:\Python\myCode\IPList.txt" > > ipFileLocation = "IPList.txt" > ipFile = open(ipFileLocation, 'w') > > def findIPs(): > for num in range(256): > mySet = "%03.d" % num okay -- at this point, on the first iteration of this outer loop, mySet is '000' > for num in range(256): > mySet = mySet + "." + "%03.d" % num and on the first iteration of this first inner loop, mySet is '000.000' > for num in range(256): > mySet = mySet + "." + "%03.d" % num second inner loop, first iteration, mySet is '000.000.000' > for num in range(256): > mySet = mySet + "." + "%03.d" % num > ipFile.write(mySet+"\n") Okay -- this innermost loop will now be executed 256 times (values ranging from 0 to 255, and mySet just keeps getting appended to, creating the ever-growing output string that you see. A better way to write this would be something like: for octet1 in range(256): for octet2 in range(256): for octet3 in range(256): for octet4 in range(256): ipAddress = '%03.d.%03.d.%03.d.%03.d\n' % (octet1, octet2, octet3, octet4) ipFile.write(ipAddress) ...which will generate output like you're looking for: 000.000.000.000 000.000.000.001 000.000.000.002 000.000.000.003 000.000.000.004 000.000.000.005 000.000.000.006 000.000.000.007 000.000.000.008 000.000.000.009 000.000.000.010 000.000.000.011 000.000.000.012 000.000.000.013 000.000.000.014 Also note that growing strings by concatenating with '+' is going to create code that runs very slowly as the strings continue to grow -- much better to either use string formatting or the idiom of using the join method of list objects to create a string in a single pop once a list of substrings is all populated. -- // Today's Oblique Strategy (© Brian Eno/Peter Schmidt): // Destroy -nothing -the most important thing // Brett g Porter * [EMAIL PROTECTED] // http://bgporter.inknoise.com/JerseyPorkStore -- http://mail.python.org/mailman/listinfo/python-list