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 pickle 和 shelve模块的用法
Sep 16 Python
Python开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
Python正则捕获操作示例
Aug 19 Python
Python中is和==的区别详解
Nov 15 Python
带你认识Django
Jan 15 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
Python configparser模块操作代码实例
Jun 08 Python
基于Python和C++实现删除链表的节点
Jul 06 Python
Python中使用Selenium环境安装的方法步骤
Feb 22 Python
python OpenCV学习笔记
Mar 31 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读取3389的脚本
2014/05/06 PHP
windows中为php安装mongodb与memcache
2015/01/06 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
jQuery 源码分析笔记(7) Queue
2011/06/19 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
详解JavaScript的while循环的使用
2015/06/03 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python深度优先算法生成迷宫
2018/01/22 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
总经理办公室主任岗位职责
2013/11/12 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
毕业晚会主持词
2014/03/24 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
开学第一天的感想
2015/08/10 职场文书
初中团委工作总结
2015/08/13 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL