Python 3.3+ipaddressпонятие
ipaddress.IPv4Address
адреса
Класс адреса IPv4: проверяет запись при создании, поддерживает сравнение, арифметику с целыми и свойства вроде is_private.
Синтаксис
ipaddress.IPv4Address(address)
Конструктор строже ip_address(): он бросает AddressValueError (подкласс ValueError) и не примет IPv6. Адреса сортируются и складываются с числами — IPv4Address('10.0.0.255') + 1 даёт 10.0.1.0, а int() вернёт номер адреса. Сравнить его с IPv6Address через < нельзя (TypeError), а == с IPv6-отображением '::ffff:1.2.3.4' даёт False.
Примеры
import ipaddress
a = ipaddress.IPv4Address('10.0.0.255')
print(a + 1, int(a)) # → 10.0.1.0 167772415
print(a < ipaddress.IPv4Address('10.0.1.0')) # → True
try:
ipaddress.IPv4Address('10.0.0.256')
except ipaddress.AddressValueError as e:
print(e) # → Octet 256 (> 255) not permitted in '10.0.0.256'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности