Я пытаюсь найти что-то, что я могу использовать в качестве уникальной строки/номера для моего скрипта, который зафиксирован на машине и легко доступен (кроссплатформенный). Я предполагаю, что у машины будет сетевая карта. Мне не нужно, чтобы он был действительно уникальным, но необходимо, чтобы он был исправлен в долгосрочной перспективе и как можно реже.
Я знаю, что MAC можно изменить, и я, вероятно, сделаю предупреждение об этом в своем сценарии, однако я не ожидаю, что кто-либо будет менять MAC каждое утро.
Я придумал uuid.getnode()
, но в документации есть:
Если все попытки получить аппаратный адрес не удаются, мы выбираем случайное 48-битное число
Означает ли это, что для каждого вызова функции я получаю другое случайное число, поэтому невозможно использовать его, если MAC недоступен?
... на машине с несколькими сетевыми интерфейсами может быть возвращен MAC-адрес любого из них.
Означает ли это предложение, что getnode()
получает случайный (или первый) MAC из всех доступных? Что если он получит MAC A при первом запуске и MAC B в следующий раз? Не было бы проблем, если бы я получил фиксированный список (сортировать, объединять, тадааа!)
Я спрашиваю, потому что у меня нет способа как это проверить самому.