все 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Сообщить о неточности