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 相关文章推荐
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
python使用folium库绘制地图点击框
Sep 21 Python
python字典值排序并取出前n个key值的方法
Oct 17 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
网易2016研发工程师编程题 奖学金(python)
Jun 19 Python
python pandas写入excel文件的方法示例
Jun 25 Python
简单了解python的内存管理机制
Jul 08 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
Sep 25 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
tensorflow之并行读入数据详解
Feb 05 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 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文件操作实现代码分享
2011/09/01 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
PHP使用header()输出图片缓存实例
2014/12/09 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
php 使用fopen函数创建、打开文件详解及实例代码
2016/09/24 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
js数组的操作指南
2014/12/28 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python实现K最近邻算法
2018/01/29 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python 实现矩阵填充0的例子
2019/11/29 Python
Python的形参和实参使用方式
2019/12/24 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
会计专业应届生求职信
2013/11/24 职场文书
市场营销策划方案
2014/06/11 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS