Python 3.3+socketфункция
socket.if_nameindex()
сетевые интерфейсы
Возвращает список сетевых интерфейсов машины парами (индекс, имя): (1, 'lo'), (2, 'eth0').
Синтаксис
socket.if_nameindex() -> list[tuple[int, str]]
Состав и имена целиком зависят от машины, в тестах их не зашивают. На Windows имена особые — вида 'ethernet_32770', а не «дружественное» имя вроде 'vEthernet (nat)' из панели управления. Адресов функция не возвращает: только индексы и имена; индекс нужен, например, как scope_id для IPv6-адресов link-local.
Примеры
import socket
for index, name in socket.if_nameindex():
print(index, name) # → ? 1 lo / 2 eth0
print(isinstance(socket.if_nameindex(), list)) # → True
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности