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使用reportlab画图示例(含中文汉字)
Dec 03 Python
Python写的Socks5协议代理服务器
Aug 06 Python
python实现删除文件与目录的方法
Nov 10 Python
python开发简易版在线音乐播放器
Mar 03 Python
Python入门之三角函数sin()函数实例详解
Nov 08 Python
python tornado微信开发入门代码
Aug 24 Python
python 字符串只保留汉字的方法
Nov 16 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
Python占用的内存优化教程
Jul 28 Python
使用Puppeteer爬取微信文章的实现
Feb 11 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 Python
Django admin组件的使用
Oct 24 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
桌面中心(二)数据库写入
2006/10/09 PHP
PHP 输出缓存详解
2009/06/20 PHP
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
PHP时间处理类操作示例
2018/09/05 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
Js组件的一些写法
2010/09/10 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
javascript实现拼图游戏
2021/01/29 Javascript
python中的多线程实例教程
2014/08/27 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
python清除函数占用的内存方法
2018/06/25 Python
python实现坦克大战
2020/04/24 Python
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
西班牙在线药店:DosFarma
2020/03/28 全球购物
英语文学专业学生的自我评价
2013/10/31 职场文书
2014年上半年工作自我评价
2014/01/18 职场文书
《开国大典》教学反思
2014/04/19 职场文书
初中学校军训方案
2014/05/09 职场文书
齐云山导游词
2015/02/06 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
立春观后感
2015/06/18 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS