在拙作《Python可以这样学》(清华大学出版社,2017.2)第297页介绍了一种获取本机网卡MAC地址的方法,不过代码显得稍微有点啰嗦,并且只能获得一块网卡的MAC地址。本文对该内容稍加补充。
1、这样更简洁
import uuid
>>> address = hex(uuid.getnode())[2:]
>>> '-'.join(address[i:i+2] for i in range(0, len(address), 2))
'f0-03-8c-09-8c-34'
2、获取多网卡MAC地址
首先使用pip安装Python扩展库psutil,然后执行下面的代码即可。
from psutil import
for k, v in net_if_addrs().items():
for item in v:
address = item[1]
if '-' in address and len(address)==17:
print(address)