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统计文本文件内单词数量的方法
May 30 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
python @classmethod 的使用场合详解
Aug 23 Python
使用OpenCV实现仿射变换—平移功能
Aug 29 Python
python 如何将数据写入本地txt文本文件的实现方法
Sep 11 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
Python修改列表值问题解决方案
Mar 06 Python
python+opencv实现目标跟踪过程
Jun 21 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实现多服务器session共享之NFS共享的方法
2007/03/16 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
mysql总结之explain
2012/02/27 PHP
使用URL传输SESSION信息
2015/07/14 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
js导出txt示例代码
2014/01/14 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
python制作填词游戏步骤详解
2019/05/05 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
最受欢迎的自我评价
2013/12/22 职场文书
暑期实践思想汇报
2014/01/06 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android