先日 "X(古Twitter)" で
"Get your MAC address using the uuid module in Python"というのが流れてたので
下記コードで試したが、 私の環境(Windows 11)では uuid.getnode() でMACアドレス取得できなかった。
macaddr = [hex(n >> (5 - i) * 8 & 0xff)[2:].zfill(2) for (i, n) in enumerate([mac] * 6)]
Chat GPTに聞くと uuid.getnode()ではMACアドレスを取得できない場合があるとのこと
代替え案は 「 netifaces 」を使えということでした
python3 -m pip install netifaces # ← netifacesをインストールする
import netifaces def get_mac_addresses(): macs = [] for interface in netifaces.interfaces(): addrs = netifaces.ifaddresses(interface) if netifaces.AF_LINK in addrs: for link in addrs[netifaces.AF_LINK]: mac = link.get('addr') if mac and len(mac) == 17: macs.append(mac) return macs print(get_mac_addresses())
上記コードを実行すると わたしの環境で 正しくMACアドレスが取得できた