python如何获取服务器硬件信息
作者:zhangjpn
这篇文章主要为大家详细介绍了python获取服务器硬件信息的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下
#!/usr/bin/env python # -*- coding: utf-8 -*- import rlcompleter, readline readline.parse_and_bind('tab: complete') import dmidecode import time import os import re system=dmidecode.system() print "\033[1;36;40m%s\033[0m" %"获取服务器硬件信息" for x,y in system.items(): for i in y['data'].items(): if i[0] == 'Product Name': print "\033[1;31;40m%s\033[0m" % "-"*10 print 'Server models: %s' %i[1] print i print "\033[1;36;40m%s\033[0m" % "获取服务器CPU信息" for x,y in dmidecode.processor().items(): for m,n in y.items(): if m=='data': print "\033[1;31;40m%s\033[0m" % "-"*10 for x,y in n.items(): print x,y print "\033[1;36;40m%s\033[0m" %"获取服务器BIOS信息" for x,y in dmidecode.bios().items(): for m,n in y['data'].items(): if m.find('Characteristic')!=-1: for x,y in n.items(): print "\033[1;34;40m%s\033[0m" % "-"*10 print x,y else: print "\033[1;32;40m%s\033[0m" % "-"*10 print m,n print "\033[1;36;40m%s\033[0m" %"获取服务器内存信息" for x,y in dmidecode.memory().items(): for m,n in y['data'].items(): print "\033[1;34;40m%s\033[0m" % "-"*10 print m,n #便于调试,可以删除 print "x"*50 print "\033[1;36;40m%s\033[0m" %"获取服务器主板信息" for x,y in dmidecode.baseboard().items(): #print x,y for m,n in y['data'].items(): print "\033[1;34;40m%s\033[0m" % "-"*10 print m,n print "\033[1;36;40m%s\033[0m" %"获取服务器主板插槽信息" for x,y in dmidecode.slot().items(): for m,n in y['data'].items(): print "\033[1;34;40m%s\033[0m" % "-"*10 print m,n print "\033[1;36;40m%s\033[0m" %"获取服务器网卡信息" """ 安装linux硬件信息收集工具包 """ #os.system('yum -y install make wget gcc* ;wget http://ezix.org/software/files/lshw-B.02.14.tar.gz ; tar -zxvf lshw-B.02.14 .tar.gz ;cd lshw-B.02.14 ; make && make install ; cd .. ; rm -rf lshw-B.02.14* ') netcard=os.popen('lshw -C network ').read( ) print "产品名称: %s" % re.findall('product:.+(?#测试)',netcard)[0] print "网卡速度: %s" % re.findall('size:.+(?#测试)',netcard)[0] n=len(re.findall('\*-network:',netcard)) if n==0: print "网卡IP地址: %s" %re.findall('ip=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',netcard)[0] else: for i in range(0,n): try: print "网卡IP地址: %s" %re.findall('ip=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',netcard)[i] except IndexError: i+=1 print "第%s块网卡没有IP地址" %i #print "网卡IP地址: %s" % re.findall('ip=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',netcard)[0] print "网卡状态: %s " % re.findall('link=\w{3}(?#测试)',netcard)[0] print "网卡MAC地址: %s " % re.findall('serial:.+(?#测试)',netcard)[0] print "网卡厂家: %s " % re.findall('vendor:.+(?#测试)',netcard)[0] print "网络接口名称: %s" % re.findall('logical name:.+(?#测试)',netcard)[0] """ 获取系统信息 """ print "\033[1;36;40m%s\033[0m" %"获取服务器操作系统信息" import platform print "系统cpu位数: %s " % platform.processor() print "系统信息: %s " % platform.system() print "操作系统类型: %s" % platform.dist()[0] print "系统主机名: %s " % platform.node()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。