Python获取电脑硬件信息及状态的实现方法
作者:shichen2014 发布时间:2023-01-23 21:24:15
标签:Python,获取,硬件,信息,状态
本文以实例形式展示了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程序设计的学习有所帮助。
0
投稿
猜你喜欢
- 一、背景近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo。选用Python2.7与Matplotlib来
- Vim是全平台上一个高度可拓展的编辑器。它本身只是一个简陋的编辑器,但是因为有各种插件而变得强大。使用Vim编写代码就不免遇到代码补全的问题
- SQLServer数据导出到excel有很多种方法,比如dts、ssis、还可以用sql语句调用openrowset。我们这里开拓思路,用C
- 树图主要用来可视化树形数据结构,是一种特殊的层次类型。实现方法,将series->type设置为tree。Echarts的树形图表,可
- 计时器和延时器的概念 //--计时器 // 计时器ID号 setInterval(回调函数, 毫秒数); // 每隔指定毫秒数,调用一次回调
- Anaconda简介Anaconda,是一个开源的Python发行版本,其包含了conda、Python以及一大堆安装好的工具包及依赖项,比
- 1、数据驱动介绍:@ddt.ddt(类装饰器,申明当前类使用ddt框架)@ddt.data(函数装饰器,用于给测试用例传递数据),支持传py
- PyQt5访问系统剪切板QClipboard类介绍QClipboard类提供了对系统剪切板的访问,可以在应用程序之间复制和粘贴数据,它的操作
- hmac模块hmac模块用于生成HMAC码。这个HMAC码可以用于验证消息的完整性,其原理也很简单,就是一种加入了密钥的消息摘要,相比起MA
- 一、Pytorch修改预训练模型时遇到key不匹配最近想着修改网络的预训练模型vgg.pth,但是发现当我加载预训练模型权重到新建的模型并保
- 本文通过图文并茂的方式给大家展示SQL SERVER数据库表记录只保留N天图文教程,具体方法步骤请看下文:第一步:首先设置SQL Serve
- 分支结构分支结构是结构化程序设计中的基础。针对分支结构,Go 提供了两种语句形式,一种是 if,另一种是 switch。ifif 语句是 G
- 好多同志对 iframe 是如何控制的,并不是十分了解,基本上还处于一个模糊的认识状态.注意两个事项,ifr 是一个以存在的 iframe
- Flask框架难学吗?它和Django哪个更容易一些,这可能是学Python web开发的同学经常问的问题,下面来说一下flask框架。Fl
- 面向对象编程时,都会遇到一个概念,类,python也有这个概念,下面我们通过代码来深入了解下。创建和使用类class Dog(): &nbs
- 这篇文章主要介绍了Python使用configparser库读取配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 一般情况下,访问或设置剪贴板,IE 只需使用 window.clipboardData 的 getData 或 setData 方法即可。M
- 以下几种方法来模拟enum:(感觉方法一简单实用)# way1class Directions: up
- 注:使用的是Python 2.7。一个简单实现class Foo(object): __instance
- 前言:时间戳的定义Unix时间戳(Unix时间戳)或称Unix时间(Unix时间),POSIX时间(POSIX时间),是一种时间表示方式,定