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


Posted in Python onMay 11, 2017

本文实例为大家分享了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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
PyCharm配置mongo插件的方法
Nov 30 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
使用python的pandas为你的股票绘制趋势图
Jun 26 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
Aug 15 Python
Django ModelForm操作及验证方式
Mar 30 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
python ETL工具 pyetl
Jun 07 Python
python神经网络ResNet50模型
May 06 Python
浅谈Python基础之I/O模型
May 11 #Python
老生常谈Python进阶之装饰器
May 11 #Python
python 第三方库的安装及pip的使用详解
May 11 #Python
插入排序_Python与PHP的实现版(推荐)
May 11 #Python
Python实现计算两个时间之间相差天数的方法
May 10 #Python
Python开发的实用计算器完整实例
May 10 #Python
Python只用40行代码编写的计算器实例
May 10 #Python
You might like
PHP内核探索之解释器的执行过程
2015/12/22 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
Python写的英文字符大小写转换代码示例
2015/03/06 Python
Java分治归并排序算法实例详解
2017/12/12 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
Linux面试题LINUX系统类
2015/11/25 面试题
优秀村官事迹材料
2014/01/10 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
六查六看剖析材料
2014/02/15 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
护士自我推荐信范文
2015/03/24 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
2015年档案室工作总结
2015/05/23 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
导游词之丽江普济寺
2019/10/22 职场文书