import time
import wmi, zlib
def get_cpu_info():
tmpdict = {}
tmpdict["CpuCores"] = 0
c = wmi.WMI()
# print c.Win32_Processor().['ProcessorId']
# print c.Win32_DiskDrive()
for cpu in c.Win32_Processor():
# print cpu
#print("cpu id:", cpu.ProcessorId.strip())
tmpdict["CpuId"] = cpu.ProcessorId.strip()
tmpdict["CpuType"] = cpu.Name
try:
tmpdict["CpuCores"] = cpu.NumberOfCores
except:
tmpdict["CpuCores"] += 1
tmpdict["CpuClock"] = cpu.MaxClockSpeed
return tmpdict
def _read_cpu_usage():
c = wmi.WMI()
for cpu in c.Win32_Processor():
return cpu.LoadPercentage
def get_cpu_usage():
cpustr1 = _read_cpu_usage()
if not cpustr1:
return 0
time.sleep(2)
cpustr2 = _read_cpu_usage()
if not cpustr2:
return 0
cpuper = int(cpustr1) + int(cpustr2) / 2
return cpuper
def get_disk_info():
tmplist = []
encrypt_str = ""
c = wmi.WMI()
for cpu in c.Win32_Processor():
# cpu 序列号
encrypt_str = encrypt_str + cpu.ProcessorId.strip()
print("cpu id:", cpu.ProcessorId.strip())
for physical_disk in c.Win32_DiskDrive():
encrypt_str = encrypt_str + physical_disk.SerialNumber.strip()
# 硬盘序列号
print('disk id:', physical_disk.SerialNumber.strip())
tmpdict = {}
tmpdict["Caption"] = physical_disk.Caption
tmpdict["Size"] = int(physical_disk.Size) / 1000 / 1000 / 1000
tmplist.append(tmpdict)
for board_id in c.Win32_BaseBoard():
# 主板序列号
encrypt_str = encrypt_str + board_id.SerialNumber.strip()
print("main board id:", board_id.SerialNumber.strip())
# for mac in c.Win32_NetworkAdapter():
# mac 地址(包括虚拟机的)
# print "mac addr:", mac.MACAddress:
for bios_id in c.Win32_BIOS():
# bios 序列号
encrypt_str = encrypt_str #+ bios_id.SerialNumber.strip()
print("bios number:", bios_id.SerialNumber.strip())
print("encrypt_str:", encrypt_str)
# 加密算法
print("加密算法:%d" % zlib.adler32(encrypt_str.encode()))
return encrypt_str
if __name__ == "__main__":
# a = get_cpu_info()
# print("cpu: %s" % a)
get_disk_info()

最新文章

  1. 设计模式03备忘录(java)
  2. linux基础知识3_根文件系统详解
  3. Hibernate 中出现表名(XXX) is not mapped 问题
  4. React项目(一):markdown编辑器
  5. FMDB线程安全
  6. shell-bash学习03 别名、日期、函数
  7. java变量的作用域
  8. 【转】SQL Server T-SQL写文本文件
  9. maven小项目注册服务(一)--email和persist模块
  10. Android开发之ViewPager实现轮播图(轮播广告)效果的自定义View
  11. 单页web应用开发流程
  12. ubuntu下配置Apache
  13. IPV6与IPV4的区别
  14. 关于mpvue 切换页面数据没清空
  15. 【SS & KCP centos7配置】
  16. 让你一看就懂的快速排序算法(Java)
  17. linux每日命令(11):cat命令
  18. 前端阶段_html部分
  19. vue--获取监听获取radius的改变
  20. 【SVN】Linux搭建SVN服务

热门文章

  1. Eclipse - 安装Indent Guide,使JAVA代码具备编辑缩进线,和Delphi一样酷!!
  2. misc_register杂项设备
  3. MySQL Install--编译安装MySQL 5.7
  4. 常用的PHP字符串操作函数
  5. Linux命令——od
  6. linux内核模块编译makefile
  7. SQL进阶系列之7用SQL进行集合运算
  8. Unity经典案例之:Fire Balls
  9. adb命令过滤w级别日志命令
  10. Fiddler抓包工具介绍