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使用Flask框架获取当前查询参数的方法
Mar 21 Python
Python合并多个装饰器小技巧
Apr 28 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
详解将Django部署到Centos7全攻略
Sep 26 Python
使用matplotlib中scatter方法画散点图
Mar 19 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
python实现广度优先搜索过程解析
Oct 19 Python
Python 3 使用Pillow生成漂亮的分形树图片
Dec 24 Python
python为什么要安装到c盘
Jul 20 Python
pycharm + django跨域无提示的解决方法
Dec 06 Python
解决python的空格和tab混淆而报错的问题
Feb 26 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 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中的MVC模式运用技巧
2007/05/03 PHP
有关PHP性能优化的介绍
2013/06/20 PHP
跟我学Laravel之视图 & Response
2014/10/15 PHP
php生成年月日下载列表的方法
2015/04/24 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
jquery text()要注意啦
2009/10/30 Javascript
javascript offsetX与layerX区别
2010/03/12 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
js document.write()使用介绍
2014/02/21 Javascript
JavaScript函数详解
2015/02/27 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
vue实现页面滚动到底部刷新
2019/08/16 Javascript
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
flask入门之表单的实现
2018/07/18 Python
Python笔试面试题小结
2019/09/07 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
10个示例带你掌握python中的元组
2020/11/23 Python
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
优秀的教师个人的中文求职信
2013/09/21 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
小学生新年寄语
2014/04/03 职场文书
地球一小时宣传标语
2014/06/24 职场文书
法律进社区活动总结
2015/05/07 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python
k-means & DBSCAN 总结
2021/04/27 Python
mysql 带多个条件的查询方式
2021/06/05 MySQL