发表于 2018-8-12 10:14:18

python脚本查看linux硬件信息

  #!/usr/bin/envpython
  # -*- 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():
  ifi == 'Product Name':
  print "\033[1;31;40m%s\033[0m" % "-"*10
  print 'Server models: %s'%i
  print i
  print "\033[1;36;40m%s\033[0m" % "获取服务器CPU信息"
  for x,yin 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():
  #printx,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 installmakewgetgcc* ;wget http://ezix.org/software/files/lshw-B.02.14.tar.gz ; tar -zxvflshw-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)
  print "网卡速度: %s"         % re.findall('size:.+(?#测试)',netcard)
  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)
  else:
  for iin range(0,n):
  try:
  print"网卡IP地址: %s" %re.findall('ip=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',netcard)
  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)
  print "网卡状态: %s "      % re.findall('link=\w{3}(?#测试)',netcard)
  print "网卡MAC地址: %s "   % re.findall('serial:.+(?#测试)',netcard)
  print "网卡厂家: %s "      % re.findall('vendor:.+(?#测试)',netcard)
  print "网络接口名称: %s"   % re.findall('logical name:.+(?#测试)',netcard)
  """
  获取系统信息
  """
  print "\033[1;36;40m%s\033[0m" %"获取服务器操作系统信息"
  import platform
  print "系统cpu位数: %s "% platform.processor()
  print "系统信息: %s "   % platform.system()
  print "操作系统类型: %s"% platform.dist()
  print "系统主机名: %s "   % platform.node()
页: [1]
查看完整版本: python脚本查看linux硬件信息