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