96SEO 2026-06-06 00:39 0
嘿,老铁,今天咱聊聊怎么用 Python 把 Windows 那点硬件信息给掏出来。
先说实话,这事儿kan着挺高大上,其实也没那么难。

你要是刚入门,可Neng会想:“哎呀,我这小白代码Neng干嘛?”
别急,先给你抹点奶油——我们先把环境准备好。
准备工作:装库和打开管理员权限Zui常用的两个库,一个是 wmi,一个是 psutil。
打开 PowerShell,用管理员身份跑:
pip install wmi psutil
装完了?那就Ke以继续往下走啦。
玩转 wmi:硬件信息的大杂烩wmi 是 Windows Management Instrumentation 的缩写。
它Neng让你像问答机器人一样,一条条捞出 CPU、主板、磁盘的信息。
下面这段代码,就是把 CPU 名称和核心数给拎出来。
import wmi
c = wmi.WMI
for cpu in c.Win32_Processor:
print
print
print
哈哈,你kan,这玩意儿跟逛超市挑水果差不多——挑挑拣拣。
磁盘信息也Neng这么整磁盘空间总是大家关心的重点,尤其是程序员们总爱被 “磁盘不足” 敲门。
for disk in c.Win32_LogicalDisk:
print
print//} GB")
print//} GB")
不对不对,我忘了加个判断防止 None,稍微改一下:
size = int if disk.Size else 0
free = int if disk.FreeSpace else 0
print} GB")
print} GB")
psutil:跨平台的系统监控神器
Ru果你还有 Linux 或 macOS 的需求,那就别忘了 psutil。
它虽然不如 wmi 那么细致,但足够帮你抓到内存、CPU 使用率这些常规数据。
import psutil
mem = psutil.virtual_memory
print} GB")
print} GB")
print
cpu_percent = psutil.cpu_percent
print
说实话,这玩意儿跑起来几乎没卡顿,轻轻松松就Neng放进你的监控脚本里。
网络信息:MAC、IP 和主机名随手抓hen多时候我们需要机器唯一标识,这时候 MAC 地址或者主板 UUID geng靠谱。
import uuid
import socket
# MAC 地址
mac_int = uuid.getnode
mac_str = ':'.join & 0xff)
for ele in range])
print
# 主机名和 IP
hostname = socket.getfqdn
ip_addr = socket.gethostbyname
print
print
嗯,不对不对,有时候虚拟机会产生多个虚拟网卡,那 MAC 就会乱套。
这个时候咱们Ke以改走geng稳妥的路——读取 BIOS/UEFI 的 UUID:
import subprocess
def get_windows_uuid:
try:
cmd = 'wmic csproduct get UUID'
output = subprocess.check_output.decode
uuid_line =
return uuid_line if uuid_line else '未知'
except Exception as e:
return f"出错啦:{e}"
print)
这个 UUID 基本上不会因为换网卡或者装虚拟机而变动,你懂的,用来Zuo软件授权Zui合适。
系统基础信息:操作系统版本、用户名啥的douNeng拿到有些场景下只要知道系统到底是哪一版 Windows 就够了——比如自动化脚本里判断兼容性。
import platform
import os
os_info = platform.platform
user_name = os.getlogin
computer_name = os.getenv
print
print
print
C:\Windows\System32\systeminfo 命令的包装器
# 其实还有一种geng直接的方法,就是把系统自带的 systeminfo 命令跑一下然后解析输出:
def run_systeminfo:
out = subprocess.check_output.decode
for line in out.splitlines:
if ':' in line:
key, val = line.split
print}: {val.strip}")
run_systeminfo
这个办法特别适合快速全览,不过输出里会混杂hen多冗余信息,要自行筛选哈。
Spoiler:坑点与小技巧
⚡️ 虚拟网卡会导致 MAC 多次出现——记得过滤掉 “Virtual” 或 “VMware” 等关键字;
⚡️ 某些老旧 Windows上 wmi 查询可Neng慢到让你怀疑人生;
⚡️ 用 psutil 获取磁盘时注意分区类型,不是所有驱动器dou是 Fixed;
⚡️ 想要一次性把所有信息导出成 JSON?直接把各段 dict 合并后 json.dump 即可;
⚡️ 别忘了在脚本开头加上 # -*- coding:utf-8 -*-, 防止中文乱码;
⚡️ Ru果碰到权限不足报错,用管理员 PowerShell 再跑一遍;
⚡️ Zui后提醒一句:别把敏感信息随便泄露到日志里啊!
综合示例:一键收集全部信息并保存为文件import json
import wmi
import psutil
import uuid
import socket
import platform
import subprocess
def collect_all:
data = {}
# 基础系统信息
data = platform.platform
data = socket.getfqdn
data = socket.gethostbyname
# CPU 信息 via wmi
c = wmi.WMI
cpus =
for cpu in c.Win32_Processor:
cpus.append({
'name': cpu.Name,
'cores': cpu.NumberOfCores,
'threads': cpu.NumberOfLogicalProcessors,
'max_clock': cpu.MaxClockSpeed
})
data = cpus
# 内存 & 磁盘 via psutil
vm = psutil.virtual_memory
data = {
'total_gb': round, 2),
'available_gb': round, 2),
'percent': vm.percent
}
disks =
for part in psutil.disk_partitions:
usage = psutil.disk_usage
disks.append({
'device': part.device,
'mountpoint': part.mountpoint,
'total_gb': round, 1),
'used_gb': round, 1),
'free_gb': round, 1),
'percent': usage.percent
})
data = disks
# 网络 MAC & UUID
mac_int = uuid.getnode
mac_str = ':'.join & 0xff)
for ele in range])
data = mac_str
# 系统 UUID via wmic
try:
uuid_raw = subprocess.check_output\
.decode.splitlines.strip
data = uuid_raw
except Exception as e:
data = f'获取失败:{e}'
return data
if __name__ == '__main__':
info = collect_all
with open as f:
json.dump
print
哈哈,这段代码基本上把常见需求dou覆盖了你Ke以按需删减或者 功Neng。
小叮嘱:别忘了保持好奇心和安全意识!Coding 本身就是探索未知的旅程,你今天学会了怎么在 Python 裏面“偷kan” Windows 的底层数据,下次遇到新需求,只要动动手指改改查询对象,就Neng得到答案。
记得定期geng新 pip 包,否则老旧库可Neng在新 Windows 上失灵哦~ 咱就是说这事儿跟养花似的,需要浇水施肥才长得旺盛。
Sooo,Ru果你Yi经把这篇文章消化完毕,就快去你的项目里实验吧!有啥问题直接扔评论区,我这边随时待命哈~祝编码愉快,玩得开心!😊
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback