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实现破解12306图片验证码的方法分析
Dec 29 Python
浅谈pycharm的xmx和xms设置方法
Dec 03 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
Django中ORM外键和表的关系详解
May 20 Python
网易2016研发工程师编程题 奖学金(python)
Jun 19 Python
PowerBI和Python关于数据分析的对比
Jul 11 Python
Flask框架单例模式实现方法详解
Jul 31 Python
numpy np.newaxis 的实用分享
Nov 30 Python
Python读取csv文件实例解析
Dec 30 Python
基于python实现音乐播放器代码实例
Jul 01 Python
Python数据处理的三个实用技巧分享
Apr 01 Python
Django中celery的使用项目实例
Jul 07 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 管理系统程序中的后门
2009/08/05 PHP
php生成QRcode实例
2014/09/22 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
js中通过父级进行查找定位元素
2014/06/15 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
五步轻松实现zTree的使用
2017/11/01 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python 中文乱码问题深入分析
2011/03/13 Python
Python Web开发模板引擎优缺点总结
2014/05/06 Python
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python做简单的字符串匹配详解
2017/03/21 Python
Python输出带颜色的字符串实例
2017/10/10 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
Python如何将模块打包并发布
2020/08/30 Python
python 制作本地应用搜索工具
2021/02/27 Python
Html5踩坑记之mandMobile使用小记
2020/04/02 HTML / CSS
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
C#面试题
2016/05/06 面试题
求职信模板怎么做
2014/01/26 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
班级班风口号大全
2015/12/25 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏