Python获取电脑硬件信息及状态的实现方法


Posted in Python onAugust 29, 2014

本文以实例形式展示了Python获取电脑硬件信息及状态的实现方法,是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()

希望本文所述对大家Python程序设计的学习有所帮助。

Python 相关文章推荐
python递归查询菜单并转换成json实例
Mar 27 Python
Python队列的定义与使用方法示例
Jun 24 Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
学习python的前途 python挣钱
Feb 27 Python
查看python安装路径及pip安装的包列表及路径
Apr 03 Python
python 模拟银行转账功能过程详解
Aug 06 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
Aug 08 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 Python
通过python扫描二维码/条形码并打印数据
Nov 14 Python
python中的None与NULL用法说明
May 25 Python
python基础教程之基本数据类型和变量声明介绍
Aug 29 #Python
python基础教程之Hello World!
Aug 29 #Python
python中的多线程实例教程
Aug 27 #Python
闭包在python中的应用之translate和maketrans用法详解
Aug 27 #Python
web.py获取上传文件名的正确方法
Aug 26 #Python
Python version 2.7 required, which was not found in the registry
Aug 26 #Python
web.py中调用文件夹内模板的方法
Aug 26 #Python
You might like
我用php+mysql写的留言本
2006/10/09 PHP
关于时间计算的结总
2006/12/06 PHP
php利用header函数下载各种文件
2016/08/24 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
[JS]点出统计器
2020/10/11 Javascript
Document 对象的常用方法
2009/07/31 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
js单词形式的运算符
2014/05/06 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
python数据预处理 :数据抽样解析
2020/02/24 Python
Python偏函数实现原理及应用
2020/11/20 Python
python中封包建立过程实例
2021/02/18 Python
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
学生实习介绍信
2014/01/15 职场文书
药学专业学生的自我评价分享
2014/02/06 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
Redis 常见使用场景
2021/08/30 Redis
python画条形图的具体代码
2022/04/20 Python