• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

arcgis python 获得硬件id

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()

 

posted on 2019-12-18 20:28  gisai  阅读(545)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3