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实现模拟登录及表单提交的方法
Jul 25 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
Python编写登陆接口的方法
Jul 10 Python
Python简单定义与使用字典dict的方法示例
Jul 25 Python
Python基于分水岭算法解决走迷宫游戏示例
Sep 26 Python
详解Python3注释知识点
Feb 19 Python
python GUI实现小球满屏乱跑效果
May 09 Python
Python 中Django安装和使用教程详解
Jul 03 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
python爬虫学习笔记之pyquery模块基本用法详解
Apr 09 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 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实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
php下Memcached入门实例解析
2015/01/05 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
Javascript与flash交互通信基础教程
2008/08/07 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
2018/08/22 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
python取余运算符知识点详解
2019/06/27 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
Python作用域与名字空间原理详解
2020/03/21 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
python跨文件使用全局变量的实现
2020/11/17 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
微观物理专业自荐信
2014/01/26 职场文书
红旗团支部事迹材料
2014/01/27 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Java8中接口的新特性使用指南
2021/11/01 Java/Android
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技