| Home | Trees | Indices | Help |
|
|---|
|
|
Range of ip addresses.
Converts a CIDR notation address, tuple of ip addresses or start and end addresses into a smart object which can perform ``in`` and ``not in`` tests and iterate all of the addresses in the range.
>>> r = IpRange('127.0.0.1', '127.255.255.255') >>> '127.127.127.127' in r True
>>> '10.0.0.1' in r False
>>> 2130706433 in r True
>>> r = IpRange('127/24') >>> print(r) ('127.0.0.0', '127.0.0.255')
>>> r = IpRange('127/30') >>> for ip in r: ... print(ip) 127.0.0.0 127.0.0.1 127.0.0.2 127.0.0.3
>>> print(IpRange('127.0.0.255', '127.0.0.0')) ('127.0.0.0', '127.0.0.255')
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from |
|||
|
|||
|
Inherited from |
|||
|
|||
Args:
start: Ip address in dotted quad format or CIDR notation or tuple
of ip addresses in dotted quad format
end: Ip address in dotted quad format or None
|
>>> print(IpRange('127.0.0.1')) ('127.0.0.1', '127.0.0.1') >>> print(IpRange('10/8')) ('10.0.0.0', '10.255.255.255') >>> print(IpRange('127.0.0.255', '127.0.0.0')) ('127.0.0.0', '127.0.0.255')
|
Implements membership test operators `in` and `not in` for the address
range.
>>> r = IpRange('127.0.0.1', '127.255.255.255')
>>> '127.127.127.127' in r
True
>>> '10.0.0.1' in r
False
>>> 2130706433 in r
True
>>> 'invalid' in r
Traceback (most recent call last):
...
TypeError: expected dotted-quad ip address or 32-bit integer
Args:
item: Dotted-quad ip address
Returns:
True if address is in range, False otherwise
|
Return an iterator over the range. >>> iter = IpRange('127/31').__iter__() >>> next(iter) '127.0.0.0' >>> next(iter) '127.0.0.1' >>> next(iter) Traceback (most recent call last): ... StopIteration |
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Jun 27 11:48:20 2011 | http://epydoc.sourceforge.net |