Python获取电脑硬件信息及状态的实现方法

From: http://www.jb51.net/article/54470.htm

 

这篇文章主要介绍了Python获取电脑硬件信息及状态的实现方法,是一个很实用的技巧,需要的朋友可以参考下

本文以实例形式展示了Python获取电脑硬件信息及状态的实现方法,是Python程序设计中很有实用价值的技巧。分享给大家供大家参考之用。具体方法如下:

主要功能代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/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获取Linux下文件版本信息、公司名和产品名的方法
  • python获取文件版本信息、公司名和产品名的方法
  • python实现批量获取指定文件夹下的所有文件的厂商信息
  • 使用python编写脚本获取手机当前应用apk的信息
  • 使用 Python 获取 Linux 系统信息的代码
  • 使用Python获取Linux系统的各种信息
  • python中使用urllib2获取http请求状态码的代码例子
  • Python 获取新浪微博的最新公共微博实例分享
  • python通过scapy获取局域网所有主机mac地址示例
  • python使用ctypes模块调用windowsapi获取系统版本示例
  • 使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
  • python中使用sys模板和logging模块获取行号和函数名的方法
  • Python获取文件ssdeep值的方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过类或ID记录上一个被选中的标签或者数字

通过类或ID记录上一个被选中的标签或者数字 $(function () {$(document).on(click, .navbar-nav li a, function (e) {var $parant $(.navbar-nav li).index($(.navbar-nav li.active))var $index $(.navbar-nav li a).index(this)console.log($parant,$index);})})

windows2008下配置iis时出现错误“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。”...

iis7配置php的时候配置完后可以访问php页面,但是重启后就出现403,“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。” 检查后发现cgi.exe处于禁用状态&…

Windows PowerShell安装指定版本vue/cli脚手架失效解决办法;vue : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\vue

mac搭建vue项目看这篇 打开shift——鼠标右键,就可以打开Windows PowerShell 1.安装vue/cli npm install -g vue/cli3.12.0 后面是版本号 2.安装完成后查看 使用过 vue -V 查看vue/cli版本号 (如果查看找不到版本,使用命令行创建项目vue …

android图片压缩上传系列-基础篇

开发中遇到需要上传图片的场景还是很常见的,这就涉及到图片的压缩处理。如果不进行压缩,势必造成消耗大量的流量,下载图片的速度慢等。 关于android如何压缩,网上的资料也是很多,但大多数都是代码片段,讲解…

openfire 的配置文件

eclipse 编译openfire&#xff0c;openfire 的配置文件在 openfire\target\openfire\conf\openfire.xml 中&#xff0c; <?xml version"1.0" encoding"UTF-8" ?> - <!-- This file stores bootstrap properties needed by Openfire.Proper…

jq轮播原理及实现

直接开始&#xff0c;HTML CSS部分没备注&#xff0c;JS有 HTML部分 <div style"overflow: hidden;position: relative;left: 0;top: 0;height: 450px;width: 100%"><div id"slider"><div></div><div></div><div…

使用python获取CPU和内存信息的思路与实现(linux系统)

From: http://blog.csdn.net/preterhuman_peak/article/details/40649229 linux里一切皆为文件&#xff0c;在linux/unix的根目录下&#xff0c;有个/proc目录&#xff0c;这个/proc 是一种内核和内核模块用来向进程&#xff08;process&#xff09;发送信息的机制&#xff08…

uni.request接口封装;小程序uni-app接口封装

另一篇请求接口简单封装在api下的index.js 本片资源下载地址 本片封装了post get put请求&#xff0c;重点在request.js文件 1.新增四个文件 2.根目录下的utils下的request.js封装uni.request()请求 注意 &#xff1a;需要根据自己接口的 statusCode 状态码 、数据状态码…

php 功能函数集

1.获取页面闭合带id标签数据 View Code 1 <?php2 header("Content-type: text/html; charsetutf-8"); 3 /**4 * $tag_id HTML tag_id like id"abc"5 * $url web url6 * $tag HTML tag7 * $data HTML data if…

JS prototype作用

prototype可查看原型属性&#xff0c;还可对原型添加属性或方法 function Car(name) {this.name name;this.run function () {console.log(this.heightcm this.name is run!)}}var dazhong new Car(dazhong);Car.prototype.height null; //给对象添加新属性…

高性能并发TCP网络服务-IOCP框架修正VC2008版本

From: http://blog.csdn.net/lsfa1234/article/details/6223635 高性能并发TCP网络服务IOCP框架修正VC2008版本 从Source Code里可发现&#xff0c;此工程整合的epoll&#xff0c;iocp及kqueue三种模型&#xff0c;应该是非常有用的一个东东&#xff08;如果ACE能够把它的那些…

解决uni-app小程序图片转base64;微信小程序上传图片转base64;

base64转微信小程序图片 点击看这篇 以下是小程序图片转base64&#xff1a; uni.chooseImage({count: 6, //默认9sizeType: [original, compressed], //可以指定是原图还是压缩图&#xff0c;默认二者都有sourceType: [album], //从相册选择success: function (res) {console…

java中byte转换int时为何与0xff进行与运算

另一篇分析如下&#xff1a; byte为什么要与上0xff&#xff1f; 在剖析该问题前请看如下代码 public static String bytes2HexString(byte[] b) {String ret "";for (int i 0; i < b.length; i) {String hex Integer.toHexString(b[ i ] & 0xFF);if (hex.l…

element 增加自由验证

<el-form-item label"社会统一信用代码" prop"socialCode"><el-input v-model"ruleForm.socialCode"></el-input></el-form-item> 主要是validator返回的是对象 rules: {socialCode: [ //社会统一信用代码{requir…

ADempiere 360LTS 地址(Address)的中国格式定制

地址(Address)的中国格式定制AD里面设置合作伙伴&#xff0c;仓库等需要输入地址的地方&#xff0c;目前都是按照美国的习惯&#xff0c;即使国家选择了中国&#xff0c;还是不符合国内习惯&#xff0c;下面通过配置可使地址按照&#xff1a;省、市、详细地址的格式显示1) 国家…

git 配置免密登陆

SSH免密码登录配置 注意&#xff1a;这些命令需要在git bash here中敲 注意先配置好账户名和邮箱 # git config user.name zhangsan # git config user.email zhangsanqq.com # 使用–global参数&#xff0c;配置全局的用户名和邮箱&#xff0c;只需要配置一次即可。推荐配置…

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL 引言--- 在现今搜索引擎制霸天下的时代&#xff0c;我们不得不做一些东西来讨好爬虫&#xff0c;进而提示网站的排名来博得一个看得过去的流量。 URL重写与优化就是搜索引擎优化的手段之一。 假如某手机网站(基于AS…

js splice

splice(删除数组第几个,删除几个数据) splice(从第几个新增,如果设置为 0&#xff0c;则不会删除项目。,新增的对象)

PHP autoload实践

本文目的 本文简要的描述了PHP提供的autoload机制&#xff0c;以及在scake中使用实践。用于减少不必要的文件包含&#xff0c;提高php系统性能。 什么是__autoload php是脚本语言&#xff0c;不同于c只需要编译一次&#xff0c;php每次执行过程中都需要编译&#xff0c;所以…

mac无法ssh localhost

From: http://www.2cto.com/os/201203/123274.html mac 无法ssh localhost&#xff0c;错误提示&#xff1a;bash: /usr/local/bin/ssh_session: Permission denied 在网上找了很久也没有找到解决方案&#xff0c;最后根据提示自己摸索如下&#xff1a; 1.编辑/etc/sshd_confi…