[Tutor] Problems with Gauge Bar.

greg whittier greg at thewhittiers.com
Sun Aug 10 16:26:35 CEST 2008


On Sun, Aug 10, 2008 at 6:49 AM, Olrik Lenstra <o.lenstra at gmail.com> wrote:
> The program runs fine and works perfectly as the code is right now, But
> while I'm asking for the bar, can I ask for some advice on the following bit
> of code too?
>
> <<<
> ##------------------------------------------------------------------------------
> ## Define all the private IP ranges that we're not going to filter in
> ## the ipconfig part of the program.
> ## From private4 to private19 is actually 1 range. (Needs to be looked at.)
> ##------------------------------------------------------------------------------
> private1 = r"192\.168\.\d+\.\d+"
> private2 = r"169\.254\.\d+\.\d+"
> private3 = r"10\.\d+\.\d+\.\d+"
> private4 = r"172\.16\.\d+\.\d+"
> private5 = r"172\.17\.\d+\.\d+"
> private6 = r"172\.18\.\d+\.\d+"
> private7 = r"172\.19\.\d+\.\d+"
> private8 = r"172\.20\.\d+\.\d+"
> private9 = r"172\.21\.\d+\.\d+"
> private10 = r"172\.22\.\d+\.\d+"
> private11 = r"172\.23\.\d+\.\d+"
> private12 = r"172\.24\.\d+\.\d+"
> private13 = r"172\.25\.\d+\.\d+"
> private14 = r"172\.26\.\d+\.\d+"
> private15 = r"172\.27\.\d+\.\d+"
> private16 = r"172\.28\.\d+\.\d+"
> private17 = r"172\.29\.\d+\.\d+"
> private18 = r"172\.30\.\d+\.\d+"
> private19 = r"172\.31\.\d+\.\d+"
>

How about

r = re.compile(r"(\d+)\.(\d+)\.\d+\.\d+")
m = re.search(line[i])
if m:
   n1, n2 = map(int,m.groups())
   # n1, n2 now have the first two numbers of the IP address

Once you have n1, n2, you can check what range the ip is in and act accordingly.

Greg


More information about the Tutor mailing list