ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Python-读取mac地址

Python-读取mac地址

一、前言

日常开发、设备授权、局域网调试、软件绑定设备场景,经常需要快速获取电脑网卡 MAC 地址。本文汇总Windows CMD原生命令Python最简获取MAC代码,无冗余、可直接复制即用。

所有代码均为极简可用版本,适合快速集成、调试、项目部署。

二、CMD 命令获取 MAC 地址(无需软件)

Windows 自带三条常用命令,按需选择,输出干净高效。

1、ipconfig 查看全部网卡信息(最常用)

完整查看网卡、IP、物理地址(MAC)、DNS等信息:

ipconfig /all

关键字段:物理地址即为 MAC 地址。注意必须要输入/all,直接ipconfig没有mac地址。

精简只输出 MAC:

ipconfig /all | findstr "物理地址"

2、getmac 专属MAC查询

系统专用查看网卡物理地址命令,无多余冗余信息:

getmac

3、wmic 适合脚本批量读取

适合批处理、程序调用,输出规整:

wmic nic where "MacAddress<>null" get MacAddress

三、Python 最简代码获取本机 MAC 地址

提供两套方案:纯标准库(无需安装依赖)跨平台极简库方案

1、纯Python标准库(Windows专用、零依赖)

调用系统cmd解析MAC,无需pip安装任何包:

import subprocess import re def get_mac_list(): res = subprocess.check_output("getmac /fo table /nh", encoding="gbk") macs = re.findall(r"([0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2}[-][0-9A-Fa-f]{2})", res) return list(set(macs)) if __name__ == "__main__": print("本机MAC地址列表:") print(get_mac_list())

2、跨平台通用方案(Windows/Linux/Mac)

适配全平台,只需安装依赖:pip install netifaces

import netifaces def get_mac_list(): macs = set() for iface in netifaces.interfaces(): addrs = netifaces.ifaddresses(iface) if netifaces.AF_LINK in addrs: mac = addrs[netifaces.AF_LINK][0]['addr'] if mac != "00:00:00:00:00:00": macs.add(mac) return list(macs) print(get_mac_list())

四、补充说明

  • Windows MAC 格式:XX-XX-XX-XX-XX-XX

  • Linux/Mac MAC 格式:XX:XX:XX:XX:XX:XX

  • 结果包含:有线网卡、WiFi、蓝牙、虚拟网卡、虚拟机网卡

  • 纯标准库方案适合 Windows 项目打包发布,无依赖报错

五、总结

1. 手动查看 MAC:优先使用getmac命令,简洁高效;

2. 程序自动获取:Windows 用标准库调用cmd,跨平台用 netifaces;

3. 所有代码均为最简实现,可直接嵌入设备授权、日志采集、系统信息工具。


专注Python自动化、机器视觉、工控调试、工具脚本开发

返回列表