发布于 2014-09-02 12:36:00 | 407 次阅读 | 评论: 0 | 来源: 网友投递
这里有新鲜出炉的Python3 官方中文指南,程序狗速度看过来!
Python编程语言
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
本文主要为大家讲解的是使用Python来获取电脑硬件信息及状态的方法,感兴趣的同学参考下.
主要功能代码如下:
#!/usr/bin/env python # encoding: utf-8 from optparse import OptionParser import os import re import json def main(): try: parser = OptionParser(usage="%prog [options]") reg_result=re.compile('[(.*)]') #add option parser.add_option("-m","--machine",action="store",type="string",dest="machine",help="the machine to be check") parser.add_option("-f","--file",action="store",type="string",dest="file",help="the file with machine list") parser.add_option("-n","--noah_path",action="store",type="string",dest="noah",help="the bns path or group") (options,args)=parser.parse_args() result="" if options.machine: options.machine=options.machine.replace(".baidu.com","") result=os.popen("meta-query entity host "+options.machine+" -f sysSuit,memTotal,diskTotal,cpuFrequency,cpuPhysicalCores,netIdc,status -j").read() elif options.file: result=os.popen("meta-query entity host -f sysSuit,memTotal,diskTotal,cpuFrequency,cpuPhysicalCores,netIdc,status -F "+options.file+" -j").read() elif options.noah: result=os.popen("get_instance_by_service "+options.noah+" |meta-query entity host -f sysSuit,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") for item in result: if item['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']) except Exception,e: return if __name__ =="__main__": main()