Python 3.3+ipaddressфункция
ipaddress.v4_int_to_packed()
упаковка в байты
Переводит целое число в 4 байта адреса IPv4 в сетевом порядке (big-endian).
Синтаксис
ipaddress.v4_int_to_packed(address)
Это то же, что n.to_bytes(4, 'big') или IPv4Address(n).packed — отдельная функция нужна редко. Отрицательное число или число от 2**32 дают ValueError, а не обрезку. Обратный путь — IPv4Address(b) или ip_address(b): байты длины 4 читаются как упакованный адрес.
Примеры
import ipaddress
b = ipaddress.v4_int_to_packed(3232235521)
print(b, b == (3232235521).to_bytes(4, 'big')) # → b'\xc0\xa8\x00\x01' True
print(ipaddress.ip_address(b)) # → 192.168.0.1
ipaddress.v4_int_to_packed(2 ** 32) # → ValueError: Address negative or too large for IPv4
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности