Python学习之十一_Windows获取硬件信息


简介

网上找了一些方法简单整理了下,可以快速获取部分信息
包含机器名称等.
以及序列号相关 部分学习来源:
https://blog.51cto.com/u_15354476/5339864

源码

import psutil
import wmi
import platform # 系统的内存利用率
free = str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2))+'GB'
total = str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2))+'GB'
memory_use_percent = str(psutil.virtual_memory().percent)+' %'
print('可用内存:',free) # 可用内存: 8.14GB
print('总内存',total) # 总内存 15.73GB
print('内存占用率',memory_use_percent) # 内存占用率 48.2%
print('cpu占用率', str(psutil.cpu_percent(interval=1))+' %') # cpu占用率 31.5%
print('物理cpu个数',psutil.cpu_count(logical=False)) # 物理cpu个数 4 print("您的系统为:" + platform.system()) # Windows
print("您的操作系统名称及版本号:" + platform.platform()) # Windows-10-10.0.19041-SP0
print("您的操作系统版本号:" + platform.version()) # 10.0.19041
print("您的CPU生产商为:" + platform.machine()) # AMD64
print("您的CPU信息为:" + platform.processor()) # Intel64 Family 6 Model 140 Stepping 1, GenuineIntel
print("获取操作系统的位数:" ,platform.architecture()) # ('64bit', 'WindowsPE')
print("计算机的网络名称:" + platform.node()) # DESKTOP-K2Q78MR
print("包含上面所有的信息汇总:" , platform.uname()) cpuinfo = wmi.WMI() for cpu in cpuinfo.Win32_Processor(): print("您的CPU序列号为:" + cpu.ProcessorId.strip()) # BFEBFBFF0999906C1
print("您的CPU名称为:" + cpu.Name) # 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
print("您的CPU已使用:%d%%" % cpu.LoadPercentage) # 17%
print("您的CPU核心数为:%d" % cpu.NumberOfCores) # 4
print("您的CPU时钟频率为:%d" % cpu.MaxClockSpeed) # 1690 for bios_id in cpuinfo.Win32_BIOS():
print("机器序列号: " + bios_id.SerialNumber.strip()) for physical_disk in cpuinfo.Win32_DiskDrive():
print("硬盘序列号: " + physical_disk.SerialNumber) # CPU序列号
for cpu in cpuinfo.Win32_Processor():
print(cpu.ProcessorId.strip()) # 主板序列号
for board_id in cpuinfo.Win32_BaseBoard():
print("CPU的序列号为: " + board_id.SerialNumber) # mac地址
for mac in cpuinfo.Win32_NetworkAdapter():
print("机器的mac地址为: " + str(mac.MACAddress))

效果为

可用内存: 5.37GB
总内存 15.87GB
内存占用率 66.2 %
cpu占用率 2.7 %
物理cpu个数 4
您的系统为:Windows
您的操作系统名称及版本号:Windows-10-10.0.18362-SP0
您的操作系统版本号:10.0.18362
您的CPU生产商为:AMD64
您的CPU信息为:Intel64 Family 6 Model 142 Stepping 11, GenuineIntel
获取操作系统的位数: ('64bit', 'WindowsPE')
计算机的网络名称:xxxx
包含上面所有的信息汇总: uname_result(system='Windows', node='xxxx', release='10', version='10.0.18362', machine='AMD64')
您的CPU序列号为:BFEBFBFxxxxx
您的CPU名称为:Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
您的CPU已使用:5%
您的CPU核心数为:4
您的CPU时钟频率为:1992
机器序列号: xxxxx
硬盘序列号: 2224634xxxx
硬盘序列号: xxxxxxxx_952D_6E19.
xxxxx000806EB
CPU的序列号为: xxxxx68JCG0D9

pyinstaller处理

编译成exe, 可以随时使用.

Python学习之十一_Windows获取硬件信息的更多相关文章

  1. WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法

    原文:WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法 今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取 某部分的 ...

  2. 20180821 Python学习笔记:如何获取当前程序路径

    20180821 Python学习笔记:如何获取当前程序路径 启动的脚本的路径为:D:\WORK\gitbase\ShenzhenHouseInfoCrawler\main.py 当前脚本的路径为:D ...

  3. linux下dmidecode命令获取硬件信息

    linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...

  4. ansible facts 获取硬件信息

    facts 指的是 ansible_facts 变量,ansible 中使用 setup 模块来获取,包含系统的大部分基础硬件信息, [root@10_1_162_39 host_vars]# ll ...

  5. C#获取硬件信息

    //硬件信息 public class GF_Hardware { /// <summary> /// cpu序列号 /// </summary> /// <return ...

  6. python之psutil模块(获取系统性能信息(CPU,内存,磁盘,网络)

    一.psutil模块 1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...

  7. 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)

    使用python的requests库简单爬取,使用xpath解析内容 可以获取个人信息.个人照片.成绩单和课表 github地址:https://github.com/PythonerKK/GZCC- ...

  8. [Python学习] 简单爬取CSDN下载资源信息

    这是一篇Python爬取CSDN下载资源信息的样例,主要是通过urllib2获取CSDN某个人全部资源的资源URL.资源名称.下载次数.分数等信息.写这篇文章的原因是我想获取自己的资源全部的评论信息. ...

  9. 获取硬件信息的delphi源码CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名

    {-----------------------------------------------------------------------------作者:sushengmiyan 2013.0 ...

  10. Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转

    前言:最近这两天工作上,要实现一个功能,在好友阿聪的帮助下,算是比较好的解决了这个需求. B/S的Web网站,需要实现点击按钮时,根据客户端连接的显示屏(监视器)数量进行,单双屏跳转显示新页面. 由于 ...

随机推荐

  1. 如何利用动态配置中心在JavaAgent中实现微服务的多样化治理

    本文分享自华为云社区<如何利用动态配置中心在JavaAgent中实现微服务的多样化治理>,作者:华为云开源 . 一.前言 随着JavaAgent在微服务治理方面的广泛应用和发展,我们可以在 ...

  2. GaussDB技术解读系列丨运维自动驾驶探索

    本文分享自华为云社区<DTCC 2023专家解读 | GaussDB技术解读系列之运维自动驾驶探索>,作者:GaussDB 数据库 . 近日,在第14届中国数据库技术大会(DTCC2023 ...

  3. 云小课|RDS for MySQL参数模板一键导入导出,参数配置轻松搞定

    摘要:云数据库RDS for MySQL支持参数模板的导入和导出功能. 本文分享自华为云社区<[云小课][第56课]RDS for MySQL参数模板一键导入导出,参数配置轻松搞定>,作者 ...

  4. 你应该知道的数仓安全——默认权限实现共享schema

    摘要: 一种典型客户场景是一些用户是数据的生产方,需要在schema中创建表并写入数据:而另一些用户是数据的消费方,读取schema中的数据做分析.使用Alter default privilege语 ...

  5. 在openGauss上做开发?这个大赛拿出30万寻找开源的你

    摘要:信创"大比武"鲲鹏基础软件开发赛道,面向openGauss设置2个赛题,将推进openGauss人才建设,加快openGauss"产学研用"人才培养. 多 ...

  6. 带你上手全新版本的Webpack 5

    摘要:webpack5快速入门,船新版本,建议收藏 本文分享自华为云社区<webpack5快速入门,船新版本,建议收藏>,作者:北极光之夜.. 一. 快速上手 1.1 Webpack功能: ...

  7. 为啥你写的代码老有大串的if/else?

    摘要:控制语句,到底何错之有呢? 本文分享自华为云社区<业务代码如何才能不再写出大串的if/else?>,作者: JavaEdge . 控制结构?没错!你最爱的 if.for都是一类坏味道 ...

  8. vue2升级vue3:vue3真的需要vuex或者Pinia吗?hooks全有了

    在写 <vue2升级vue3:TypeScript下vuex-module-decorators/vuex-class to vuex4.x>,建议新项目使用 Pinia,但是我的项目部分 ...

  9. 学习 Java 还是 Solon 简单,v1.9.0 发布

    入手很简单哦: pom.xml 添加依赖 <dependency> <groupId>org.noear</groupId> <artifactId>s ...

  10. 题解 CF1388A 【Captain Flint and Crew Recruitment】(思维、贪心)

    AC代码: #include<bits/stdc++.h> using namespace std; void solve() { int n; cin >> n; if (n ...