Is there a function of ipaddress to get the subnet only from input like 192.168.1.129/25

Peter Otten __peter__ at web.de
Tue Oct 17 18:00:26 EDT 2017


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...




More information about the Python-list mailing list