Python Glossary English

Python 3.3+socketфункция

socket.if_nametoindex()

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

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

Синтаксис

socket.if_nametoindex(if_name) -> int

Индексы назначает ОС, и после перезагрузки или подключения адаптера они меняются — храните имя, а индекс получайте этой функцией при запуске. Несуществующее имя поднимает OSError, а не возвращает 0. На Windows имя ожидается в форме 'ethernet_32770', которую выдаёт if_nameindex().

Примеры

import socket
index, name = socket.if_nameindex()[0]
print(socket.if_nametoindex(name) == index)  # → True
socket.if_nametoindex('nosuch0')  # → OSError: no interface with this name

См. также

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

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