每台计算机都需要网络接口卡(NIC)才能成为网络或Internet的一部分。分配给该卡的地址称为MAC地址。MAC地址的值对于每个NIC都是唯一的。它也适用于其他可以连接到LAN或Internet的设备,例如打印机和路由器。
要找到MAC地址,我们使用以下方法之一。
uuid模块具有getnode()
以十六进制格式为我们提供MAC地址的功能。
import uuid print(hex(uuid.getnode()))
运行上面的代码给我们以下结果-
0xfee14ef7a96
getnode()
+format()
我们使用这种方法格式化结果以提高可读性。在这里,我们将每个节点的元素连接到2位数字之后,并用冒号分隔它们来表示它们。
import uuid print ("Formatted MAC address : ") print (':'.join(['{:02x}'.format((uuid.getnode() >> elements) & 0xff) for elements in range(0,2*6,2)][::-1]))
运行上面的代码给我们以下结果-
Formatted MAC address : de:7a:ea:a9:a5:96
getnode()
+ findall()
+re()
我们使用与前一种方法相同的方法,但是使用正则表达式模块(re)格式化结果。这使得结果复杂得多。
import re,uuid print ("Formatted MAC address : ") print (':'.join(re.findall('..', '%012x' % uuid.getnode())))
运行上面的代码给我们以下结果-
Formatted MAC address: 0f:ee:14:ef:7a:96