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生成日历实例解析
Aug 21 Python
Python使用pylab库实现画线功能的方法详解
Jun 08 Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
python selenium自动上传有赞单号的操作方法
Jul 05 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
5分钟 Pipenv 上手指南
Dec 20 Python
在Python中表示一个对象的方法
Jun 25 Python
简单了解python关系(比较)运算符
Jul 08 Python
pandas中read_csv的缺失值处理方式
Dec 19 Python
解决python脚本中error: unrecognized arguments: True错误
Apr 20 Python
Python 中数组和数字相乘时的注意事项说明
May 10 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
YII Framework框架教程之安全方案详解
2016/03/14 PHP
读jQuery之八 包装事件对象
2011/06/21 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
2016/01/14 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
python实现斐波那契递归函数的方法
2014/09/08 Python
Python的Flask框架中web表单的教程
2015/04/20 Python
Python中扩展包的安装方法详解
2017/06/14 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
python flask 多对多表查询功能
2017/06/25 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
解决yum对python依赖版本问题
2019/07/05 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
Python图片的横坐标汉字实例
2019/12/04 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
如何提高python 中for循环的效率
2020/04/15 Python
Python的in,is和id函数代码实例
2020/04/18 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
矫正人员思想汇报
2014/01/08 职场文书
《陶罐和铁罐》教学反思
2014/02/19 职场文书
大家访活动实施方案
2014/03/10 职场文书
美容院店长岗位职责
2014/04/08 职场文书
公司请假条格式
2014/04/11 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
追悼会答谢词
2015/01/05 职场文书
实验室安全管理制度
2015/08/05 职场文书
python数字图像处理之图像的批量处理
2022/06/28 Python