Python Glossary English

все Python 3socketфункция

socket.inet_ntoa()

преобразование адресов и порядка байтов

Переводит 4 байта IPv4-адреса в сетевом порядке в строку вида '192.168.0.1'.

Синтаксис

socket.inet_ntoa(packed_ip) -> str

Принимает ровно 4 байта: длина иная — OSError, а не обрезка. Типичный случай — адрес из сырого заголовка пакета или из struct.unpack('4s', …). Для IPv6 нужна inet_ntop(AF_INET6, …); для арифметики с адресами удобнее ipaddress.IPv4Address(bytes), который принимает те же 4 байта.

Примеры

import socket
print(socket.inet_ntoa(b'\x7f\x00\x00\x01'))  # → 127.0.0.1
print(socket.inet_ntoa(socket.inet_aton('10.0.0.255')))  # → 10.0.0.255
socket.inet_ntoa(b'abc')  # → OSError: packed IP wrong length for inet_ntoa

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности