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分析网页上所有超链接的方法
May 08 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
python利用datetime模块计算时间差
Aug 04 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
java判断三位数的实例讲解
Jun 10 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
python异常处理和日志处理方式
Dec 24 Python
python3连接MySQL8.0的两种方式
Feb 17 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
Matplotlib配色之Colormap详解
Jan 05 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脚本数据库功能详解(中)
2006/10/09 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php实现图片缩放功能类
2013/12/18 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
js异步编程小技巧详解
2017/08/14 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
python调用百度REST API实现语音识别
2018/08/30 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
Python 互换字典的键值对实例
2019/02/12 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
党员年终民主评议的自我评价
2013/11/05 职场文书
大学生毕业求职自荐书范文
2014/02/04 职场文书
信息管理应届生求职信
2014/03/07 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
研究生导师推荐信
2015/03/25 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
Python深度学习之实现卷积神经网络
2021/06/05 Python