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

本文通过实例代码介绍了如何使用Python获取电脑的硬件信息,包括CPU频率、内存大小、磁盘容量、IDC位置和状态。代码通过`meta-query`和`get_instance_by_service`等工具读取数据,并进行相应处理,输出格式化的信息。
摘要由CSDN通过智能技术生成

本文以实例形式展示了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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值