Python获取电脑硬件信息及状态的实现方法
本文以实例形式展示了Python获取电脑硬件信息及状态的实现方法,是Python程序设计中很有实用价值的技巧。分享给大家供大家参考之用。具体方法如下:
主要功能代码如下:
#!/usr/bin/envpython #encoding:utf-8 fromoptparseimportOptionParser importos importre importjson defmain(): try: parser=OptionParser(usage="%prog[options]") reg_result=re.compile('\[(.*)\]') #addoption parser.add_option("-m","--machine",action="store",type="string",dest="machine",help="themachinetobecheck") parser.add_option("-f","--file",action="store",type="string",dest="file",help="thefilewithmachinelist") parser.add_option("-n","--noah_path",action="store",type="string",dest="noah",help="thebnspathorgroup") (options,args)=parser.parse_args() result="" ifoptions.machine: options.machine=options.machine.replace(".baidu.com","") result=os.popen("meta-queryentityhost"+options.machine+"-fsysSuit,memTotal,diskTotal,cpuFrequency,cpuPhysicalCores,netIdc,status-j").read() elifoptions.file: result=os.popen("meta-queryentityhost-fsysSuit,memTotal,diskTotal,cpuFrequency,cpuPhysicalCores,netIdc,status-F"+options.file+"-j").read() elifoptions.noah: result=os.popen("get_instance_by_service"+options.noah+"|meta-queryentityhost-fsysSuit,memTotal,diskTotal,cpuFrequency,cpuPhysicalCores,netIdc,status-F-j").read() else: return result=json.loads(result) print"%-*s%-*s%-*s%-*s%-*s%-*s"%(40,"Name",10,"CPU",10,"memery",10,"disk",10,"IDC",10,"status") foriteminresult: ifitem['Values']['cpuFrequency']!="null": item['Values']['cpuFrequency']=str(float(item['Values']['cpuFrequency'])/1000.0)[0:3] else: item['Values']['cpuFrequency']="0" item['Values']['diskTotal']=str(float(item['Values']['diskTotal'])/1000000000.0)[0:5] item['Values']['memTotal']=str(float(item['Values']['memTotal'])/1024/1000.0)[0:5] print"%-*s%-*s%-*s%-*s%-*s%-*s"%(40,item['Name'],10,item['Values']['cpuFrequency']+"x"+item['Values']['cpuPhysicalCores'],10,item['Values']['memTotal']+"G",10,item['Values']['diskTotal']+"T",10,item['Values']['netIdc'],10,item['Values']['status']) exceptException,e: return if__name__=="__main__": main()
希望本文所述对大家Python程序设计的学习有所帮助。