Is there a function of ipaddress to get the subnet only from input like 192.168.1.129/25
Daniel Flick
daniel.p.flick at gmail.com
Tue Oct 17 21:24:39 EDT 2017
On Tuesday, October 17, 2017 at 5:01:13 PM UTC-5, Peter Otten wrote:
> Daniel Flick wrote:
>
> > On Tuesday, October 17, 2017 at 4:25:02 PM UTC-5, Daniel Flick wrote:
> >> <SNIP>
> >> Peter, I am not following. Are you saying that there is a function that
> >> returns the network only? network_address was giving me the mask
> >> attached to the end but maybe I was doing something wrong.
> >>
> >> For an input of LAN_IP=192.168.99.1/24
> >> ipaddress.IPv4Interface(LAN_IP).ip
> >> returns 192.168.99.0/24
> >>
> >> I need the 192.168.99.0 part only.
> >
> > OOPS! I meant
> > For an input of LAN_IP=192.168.99.1/24
> > ipaddress.IPv4Interface(LAN_IP).network
> > returns 192.168.99.0/24
>
> In the body of your post you had 192.168.1.128/25, so I mistook
> 192.168.1.129/25 as a typo. However, once you have
>
> >>> import ipaddress
> >>> ipaddress.ip_interface("192.168.99.1/24").network
> IPv4Network('192.168.99.0/24')
>
> you can simply add the step from my first answer:
>
> >>> ipaddress.ip_interface("192.168.99.1/24").network.network_address
> IPv4Address('192.168.99.0')
>
> Unless I'm misunderstanding again...
That seems to be spot on. I will try that. I used the /25 to illustrate that that the network may not end in zero. I had asked this question in the Mako forum and I had a few answers to drop the last octet and add zero which was not correct. Thanks for your help!
More information about the Python-list
mailing list