Python Glossary English

Python 3.3+socketфункция

socket.if_indextoname()

сетевые интерфейсы

Возвращает имя сетевого интерфейса по его числовому индексу, например 1 → 'lo'.

Синтаксис

socket.if_indextoname(if_index) -> str

Пригодится, когда индекс пришёл извне — из scope_id IPv6-адреса или из ответа ОС. Индекса нет — поднимается OSError, а не возвращается пустая строка. Индексы не обязаны идти подряд с единицы: интерфейсы появляются и исчезают, поэтому перебирать range() бессмысленно — список даёт if_nameindex().

Примеры

import socket
index, name = socket.if_nameindex()[0]
print(socket.if_indextoname(index) == name)  # → True
socket.if_indextoname(999999)  # → OSError

См. также

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

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