Python-读取mac地址

📅 2026/8/4 19:19:46
Python-读取mac地址
一、前言日常开发、设备授权、局域网调试、软件绑定设备场景经常需要快速获取电脑网卡 MAC 地址。本文汇总Windows CMD原生命令和Python最简获取MAC代码无冗余、可直接复制即用。所有代码均为极简可用版本适合快速集成、调试、项目部署。二、CMD 命令获取 MAC 地址无需软件Windows 自带三条常用命令按需选择输出干净高效。1、ipconfig 查看全部网卡信息最常用完整查看网卡、IP、物理地址MAC、DNS等信息ipconfig /all关键字段物理地址即为 MAC 地址。注意必须要输入/all直接ipconfig没有mac地址。精简只输出 MACipconfig /all | findstr 物理地址2、getmac 专属MAC查询系统专用查看网卡物理地址命令无多余冗余信息getmac3、wmic 适合脚本批量读取适合批处理、程序调用输出规整wmic nic where MacAddressnull 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, encodinggbk) 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 netifacesimport 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-XXLinux/Mac MAC 格式XX:XX:XX:XX:XX:XX结果包含有线网卡、WiFi、蓝牙、虚拟网卡、虚拟机网卡纯标准库方案适合 Windows 项目打包发布无依赖报错五、总结1. 手动查看 MAC优先使用getmac命令简洁高效2. 程序自动获取Windows 用标准库调用cmd跨平台用 netifaces3. 所有代码均为最简实现可直接嵌入设备授权、日志采集、系统信息工具。专注Python自动化、机器视觉、工控调试、工具脚本开发