zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    队列与栈的综合实现
    枚举属性和不可枚举属性
    Ajax状态值及状态码
    jquery版滑块导航栏
    js版面向对象图片放大镜
    jq封装淘宝图片轮播插件
    前端必备的js知识点(转载)
    如何有效地解决ie7,IE8不支持document.getElmentsByClassName的问题
    mysql的基本命令行操作
    jquery版楼层滚动特效
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12063487.html
Copyright © 2011-2022 走看看