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中的ceil()方法使用教程
May 14 Python
用matplotlib画等高线图详解
Dec 14 Python
python实现列表的排序方法分享
Jul 01 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
python计算n的阶乘的方法代码
Oct 25 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
python圣诞树编写实例详解
Feb 13 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
Python 使用 environs 库定义环境变量的方法
Feb 25 Python
Django 404、500页面全局配置知识点详解
Mar 10 Python
Python 在局部变量域中执行代码
Aug 07 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
打造计数器DIY三步曲(上)
2006/10/09 PHP
php curl基本操作详解
2013/07/23 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
11款基于Javascript的文件管理器
2009/10/25 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
详解微信小程序开发(项目从零开始)
2019/06/06 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
[00:10]神之谴戒
2019/03/06 DOTA
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
会话Bean的种类
2013/11/07 面试题
New delete 与malloc free 的联系与区别
2013/02/04 面试题
Sql面试题
2013/03/20 面试题
军训自我鉴定
2013/12/14 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
银行员工职业规划范文
2014/01/21 职场文书
学校万圣节活动方案
2014/02/13 职场文书
写求职信有什么意义
2014/02/17 职场文书
二手房购房意向书范本
2014/04/01 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
2014年标准化工作总结
2014/12/17 职场文书
详解SQL的窗口函数
2022/04/21 Oracle
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis