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通过递归遍历出集合中所有元素的方法
Feb 25 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
Nov 09 Python
Python实现类似jQuery使用中的链式调用的示例
Jun 16 Python
python字符串过滤性能比较5种方法
Jun 22 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
Python面向对象之类和对象实例详解
Dec 10 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
python pandas模块基础学习详解
Jul 03 Python
python字典嵌套字典的情况下找到某个key的value详解
Jul 10 Python
python使用自定义钉钉机器人的示例代码
Jun 24 Python
pandas中对文本类型数据的处理小结
Nov 01 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
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
php的socket编程详解
2016/11/20 PHP
JavaScript中的Array对象使用说明
2011/01/17 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
angular select 默认值设置方法
2017/06/23 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
Django之form组件自动校验数据实现
2020/01/14 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
大学生求职简历的自我评价范文
2013/10/12 职场文书
工程部主管岗位职责
2013/11/17 职场文书
酒店总经理助理职责
2014/02/12 职场文书
企业精神口号
2014/06/11 职场文书
团日活动总结报告
2014/06/25 职场文书
办公室个人总结
2015/02/28 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers