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 22 Python
Python Queue模块详解
Nov 30 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
python实现按任意键继续执行程序
Dec 30 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
使用Python写一个量化股票提醒系统
Aug 22 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
Apr 27 Python
Python向excel中写入数据的方法
May 05 Python
python几种常用功能实现代码实例
Dec 25 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
Feb 25 Python
python中数据库like模糊查询方式
Mar 02 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 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执行.SQL文件
2013/07/05 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
php中namespace及use用法分析
2016/12/06 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
选择器中含有空格在使用示例及注意事项
2013/07/31 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
Mac下安装vue
2018/04/11 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
Python中is与==判断的区别
2017/03/28 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
django rest framework serializers序列化实例
2020/05/13 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
2014年国庆节演讲稿
2014/09/19 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python
利用JavaScript写一个简单计算器
2021/11/27 Javascript
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android