码迷,mamicode.com
首页 > 其他好文 > 详细

纠错20190316

时间:2019-03-17 01:16:39      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:dict   def   版本   编译   google   examples   主板   cpu   加密   

https://www.cnblogs.com/testlife007/p/5702568.html

 

测试

此处使用的是wmi库,可以去google里面搜索“python wmi”

import os, sys
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["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"] = long(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 zlib.adler32(encrypt_str)
          return encrypt_str 
if __name__ == "__main__":
#     a = get_cpu_info()
     get_disk_info()

 

(以上代码属于引用链接里面的代码)

 以上代码在Windows10+Python 3.7.2上编译报错技术图片

以上报错原因参考https://www.cnblogs.com/dpf-learn/p/8028121.html

Python zlib.adler32() Examples(Python zlib.adler32() 用法参考网页):https://www.programcreek.com/python/example/6667/zlib.adler32

解决方案:

 把

# 加密算法
print(zlib.adler32(encrypt_str))
return encrypt_str

修改为
# 加密算法
print(zlib.adler32(encrypt_str.encode(encoding=‘utf-8‘)))
return encrypt_str

另外

在python 2.x版本中打印函数是print“”或则print +数字;    

在3.0及以上版本中,需要在"Hello,world"周围加上圆括号。其原因是在3.0及以上版本中,print命令不再是一个关键字,而是一个函数。

 

 

纠错20190316

标签:dict   def   版本   编译   google   examples   主板   cpu   加密   

原文地址:https://www.cnblogs.com/hoganben/p/10545030.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!