boss44 发表于 2018-8-9 12:47:13

python检测系统基础信息示例

#!/usr/bin/env python  
# -*- coding:utf-8 -*-
  
import psutil
  
import time
  
import datetime
  
import sys
  
import os
  
import socket
  
import uuid
  
import platform
  

  
def get_baseinfo():
  
      Nowtime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  
      Macs = uuid.UUID(int = uuid.getnode()).hex[-12:]
  
      Mac = ":".join( for e in range(0,11,2)])
  
#       mac=os.popen("/usr/sbin/ip a|grep ether|awk -F ' ' '{print $2}'").read()
  
#       ipaddr=os.popen("/usr/sbin/ip a|grep eno|grep inet|awk -F ' ' '{print $2}'|awk -F '/' '{print $1}'").read()
  
      Hostname=socket.getfqdn(socket.gethostname())
  
      IPaddr=socket.gethostbyname(Hostname)
  
      Boot_Start = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(psutil.boot_time()))
  
      print('---------------基础信息------------------')
  
      print('当前时间:%s' % Nowtime)
  
      print('主机域名:%s' % Hostname)
  
      print('IP地址:%s' % IPaddr)
  
      print('MAC地址:%s' % Mac)
  
      print('启动时间:%s' % Boot_Start)
  
      print('-----------------------------------------')
  

  

  
def get_platinfo():
  
      print('---------------系统信息-------------------')
  
      print('计算类型 :%s ' % platform.machine())
  
      print('主机名称 :%s ' % platform.node())
  
      print('操作系统类型 :%s ' % platform.system())
  
      print('操作系统名称及版本号 :%s ' % platform.platform())
  
      print('------------------------------------------')
  

  
def get_cpuinfo():
  
      Cpu_count=psutil.cpu_count()
  
      Cpu_usage=psutil.cpu_percent()
  
      Cpu_type=os.popen("cat /proc/cpuinfo | grep name |uniq -c| cut -f2 -d:").read()
  
      print('-----------------CPU信息------------------')
  
      print('CPU核数:%s 核' % Cpu_count )
  
      print('当前CPU使用率: %s%s ' % (Cpu_usage,"%"))
  
      print('CPU型号: %s' % Cpu_type)
  
      print('------------------------------------------')
  

  
def get_meminfo():
  
      Mem_total=int(psutil.virtual_memory().total/(1024*1024))
  
      Mem_free=int(psutil.virtual_memory().free/(1024*1024))
  
      Mem_percent=psutil.virtual_memory().percent
  
      Swap_total=int(psutil.swap_memory().total/(1024*1024))
  
      Swap_percent=psutil.swap_memory().percent
  
      print('-----------------内存信息------------------')
  
      print('物理内存:%dM' % Mem_total)
  
      print('空闲内存:%dM' % Mem_free)
  
      print('内存使用率:%s%s' % (Mem_percent,"%"))
  
      print('Swap内存:%dM' % Swap_total)
  
      print('Swap使用率:%s%s' % (Swap_percent,"%"))
  
      print('-------------------------------------------')
  

  
def get_diskinfo():
  
#    for i in psutil.disk_partitions():
  
#      print "盘符: %s挂载点: %s总空间:%dM剩余空间:%dM 使用率: %s%s" % (i,i,psutil.disk_usage(i)/(1024*1024),psutil.disk_usage(i)/(1024*1024),psutil.disk_usage(i),"%")
  
    print('----------------磁盘信息-------------------')
  
    num=int(len(psutil.disk_partitions()))
  
    for j in range(0,num):
  
      device=psutil.disk_partitions().device
  
      mountpoint=psutil.disk_partitions().mountpoint
  
      total=psutil.disk_usage(mountpoint).total/(1024*1024)
  
      free=psutil.disk_usage(mountpoint).free/(1024*1024)
  
      percent=psutil.disk_usage(mountpoint).percent
  
      print "盘符: %s挂载点: %s总空间:%dM剩余空间:%dM 使用率: %s%s" % (device,mountpoint,total,free,percent,"%")
  
    print('-------------------------------------------')
  

  

  
def get_netinfo():
  
      Net_sent = psutil.net_io_counters().bytes_sent
  
      Net_recv = psutil.net_io_counters().bytes_recv
  
      Net_spkg = psutil.net_io_counters().packets_sent
  
      Net_rpkg = psutil.net_io_counters().packets_recv
  
      print('----------------网络信息-------------------')
  
      print('发送:%d Byte    发送包数:%d 个' % (Net_sent,Net_spkg))
  
      print('接收:%d Byte    接收包数:%d 个' % (Net_recv,Net_rpkg))
  
      print('-------------------------------------------')
  

  
if __name__ == "__main__":
  
                get_baseinfo()
  
                get_platinfo()
  
                get_cpuinfo()
  
                get_meminfo()
  
                get_diskinfo()
  
                get_netinfo()
页: [1]
查看完整版本: python检测系统基础信息示例