第一个python 程序

举报
tscswcn 发表于 2019/02/09 00:14:59 2019/02/09
【摘要】 python 获取系统信息

#!/usr/bin/env python

# -*- encoding: utf-8 -*-


# 获取系统基本信息

import sys

import psutil

import time

import os


#获取当前时间

time_str =  time.strftime( "%Y-%m-%d", time.localtime( ) )

file_name = "./" + time_str + ".log"


if os.path.exists ( file_name ) == False :

   os.mknod( file_name )

   handle = open ( file_name , "w" )

else :

   handle = open ( file_name , "a" )



#获取命令行参数的个数

if len( sys.argv ) == 1 :

   print_type = 1

else :

   print_type = 2


def isset ( list_arr , name ) :

    if name in list_arr :

       return True

    else :

       return False


print_str = "";


#获取系统内存使用情况

if ( print_type == 1 ) or isset( sys.argv,"mem" )  :

 memory_convent = 1024 * 1024

 mem = psutil.virtual_memory()

 print_str +=  " 内存状态如下:\n"

 print_str = print_str + "   系统的内存容量为: "+str( mem.total/( memory_convent ) ) + " MB\n"

 print_str = print_str + "   系统的内存以使用容量为: "+str( mem.used/( memory_convent ) ) + " MB\n"

 print_str = print_str + "   系统可用的内存容量为: "+str( mem.total/( memory_convent ) - mem.used/( 1024*1024 )) + "MB\n"

 print_str = print_str + "   内存的buffer容量为: "+str( mem.buffers/( memory_convent ) ) + " MB\n"

 print_str = print_str + "   内存的cache容量为:" +str( mem.cached/( memory_convent ) ) + " MB\n"



#获取cpu的相关信息

if ( print_type == 1 ) or isset( sys.argv,"cpu" ) :

 print_str += " CPU状态如下:\n"

 cpu_status = psutil.cpu_times()

 print_str = print_str + "   user = " + str( cpu_status.user ) + "\n"

 print_str = print_str + "   nice = " + str( cpu_status.nice ) + "\n"

 print_str = print_str + "   system = " + str( cpu_status.system ) + "\n"

 print_str = print_str + "   idle = " + str ( cpu_status.idle ) + "\n"

 print_str = print_str + "   iowait = " + str ( cpu_status.iowait ) + "\n"

 print_str = print_str + "   irq = " + str( cpu_status.irq ) + "\n"

 print_str = print_str + "   softirq = " + str ( cpu_status.softirq ) + "\n"

 print_str = print_str + "   steal = " + str ( cpu_status.steal ) + "\n"

 print_str = print_str + "   guest = " + str ( cpu_status.guest ) + "\n"



#查看硬盘基本信息

if ( print_type == 1 ) or isset ( sys.argv,"disk" ) :

 print_str +=  " 硬盘信息如下:\n"

 disk_status = psutil.disk_partitions()

 for item in disk_status :

     print_str = print_str + "   "+ str( item ) + "\n"


#查看当前登录的用户信息

if ( print_type == 1 ) or isset ( sys.argv,"user" ) :

 print_str +=  " 登录用户信息如下:\n "

 user_status = psutil.users()

 for item in  user_status :

     print_str = print_str + "   "+ str( item ) + "\n"


print_str += "---------------------------------------------------------------\n"

print ( print_str )

handle.write( print_str )

handle.close()


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。