首页 > 编程 > Python > 正文

python如何获取服务器硬件信息

2020-01-04 17:09:28
字体:
来源:转载
供稿:网友

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下

#!/usr/bin/env python# -*- coding: utf-8 -*-import rlcompleter, readlinereadline.parse_and_bind('tab: complete')import dmidecodeimport  timeimport  osimport  resystem=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" % "-"*10print '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,yprint "/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,nprint "/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"*50print "/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,nprint "/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,nprint "/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 platformprint "系统cpu位数: %s " % platform.processor()print "系统信息: %s "   % platform.system()print "操作系统类型: %s" % platform.dist()[0]print "系统主机名: %s "  % platform.node()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表