python中系统信息获取psutil使用

#!/usr/bin/env python
#coding:utf-8
import psutil
import time
import sys
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-t", "--time", dest="time",
                  help="此参数可查看当前下载占的带宽,-t是测试时间", metavar="10")
parser.add_option("-d", "--deamon",action="store_false", dest="deamon", default=True,
                  help="后台运行此脚本") 

def Sysinfo():
    Boot_Start = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(psutil.boot_time()))
    time.sleep(0.5)
    Cpu_usage = psutil.cpu_percent()
    RAM = int(psutil.virtual_memory().total/(1027*1024))
    RAM_percent = psutil.virtual_memory().percent
    Swap = int(psutil.swap_memory().total/(1027*1024))
    Swap_percent = psutil.swap_memory().percent
    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
    BFH = r'%'
    print " \033[1;32m开机时间:%s\033[1;m"  % Boot_Start
    print " \033[1;32m当前CPU使用率:%s%s\033[1;m" % (Cpu_usage,BFH)
    print " \033[1;32m物理内存:%dM\t使用率:%s%s\033[1;m" % (RAM,RAM_percent,BFH)
    print "\033[1;32mSwap内存:%dM\t使用率:%s%s\033[1;m" % (Swap,Swap_percent,BFH)
    print " \033[1;32m发送:%d Byte\t发送包数:%d个\033[1;m" % (Net_sent,Net_spkg)
    print " \033[1;32m接收:%d Byte\t接收包数:%d个\033[1;m" % (Net_recv,Net_rpkg)

    for i in psutil.disk_partitions():
        print " \033[1;32m盘符: %s 挂载点: %s 使用率: %s%s\033[1;m" % (i[0],i[1],psutil.disk_usage(i[1])[3],BFH)

def Net_io(s):
    x = 0
    sum = 0
    while True:
        if x >= s:
            break
        r1 = psutil.net_io_counters().bytes_recv
        time.sleep(1)
        r2 = psutil.net_io_counters().bytes_recv
        y = r2 - r1
        print "%.2f Kb/s" % (y / 1024.0)
        sum += y
        x += 1
    result = sum / x
    print "\033[1;32m%s秒内平均速度:%.2f Kb/s \033[1;m"  % (x,result / 1024.0)
if __name__ == "__main__":
    (options, args) = parser.parse_args()
    if options.time:
        Net_io(int(options.time))
    else:
        Sysinfo()

运行结果:

开机时间:2015-04-24 08:39:45

当前CPU使用率:1.0%

物理内存:985M    使用率:26.5%

Swap内存:2073M    使用率:0.0%

发送:140263274 Byte    发送包数:213610个

接收:1522552624 Byte    接收包数:25313640个

盘符: /dev/mapper/centos-root 挂载点: / 使用率: 32.8

盘符: /dev/xvda1 挂载点: /boot 使用率: 19.2%

systeminfo.py -t 10使用:

1.18 Kb/s

0.98 Kb/s

1.11 Kb/s

0.94 Kb/s

0.89 Kb/s

0.92 Kb/s

1.29 Kb/s

1.24 Kb/s

1.21 Kb/s

0.73 Kb/s

10秒内平均速度:1.05 Kb/s

时间: 2024-10-06 20:15:52

python中系统信息获取psutil使用的相关文章

python中快速获取本地时区当天0点时间戳的一种方法

如下所示,看了网上的几种方法,这种方法算是代码量比较小的,同时可以保证求的是本地时区的0点时间戳,返回的是浮点数,需要的话自己转一下int In [1]: import time In [2]: from datetime import datetime In [3]: time.mktime(datetime.now().date().timetuple()) Out[3]: 1532188800.0 原文地址:https://www.cnblogs.com/AcAc-t/p/python_d

运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运用Python语言编写获取Linux基本系统信息(二):文件系统使用情况获取 一.实验环境: Python2.7.10.pycharm.VM虚拟机.CentOS6.3.mysql 二.MySQLdb模块: MySQLdb模式是Python中专门连接MySQL数据库的模块,另外Python开发环境的搭

Python中获取异常(Exception)信息

异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置.下面介绍几种python中获取异常信息的方法,这里获取异常(Exception)信息采用try...except...程序结构.如下所示 try: ... except Exception as e: ... 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常信息 'integer division or modulo by zero' 2.repr(e) 给出较全的异常信息,包括异

Python工程师求职比中秘籍——获取offer有这么多门道

找工作,从来都不是一件容易的事--无数的身负绝技的工程师在面试中折戟,拿不到想要的offer,得不到想要的职位. 但是,却有这么一个人,在短短的几天时间里,面试成功率超过五成,到手offer拿到手软,这是为什么呢? 从八月底开始找工作,短短的一星期多一些,面试了9家公司,拿到5份Offer,可能是因为我所面试的公司都是些创业性的公司吧,不过还是感触良多,因为学习Python的时间还很短,没想到还算比较容易的找到了工作,就把这些天的面试经验和大家分享一下,希望为学习Python找工作的小伙伴们提供

python中多重继承与获取对象

1.python中多重继承 除了从一个父类继承外,Python允许从多个父类继承,称为多重继承. 多重继承的继承链就不是一棵树了,它像这样: class A(object): def __init__(self, a): print 'init A...' self.a = a class B(A): def __init__(self, a): super(B, self).__init__(a) print 'init B...' class C(A): def __init__(self,

Python中获取异常(try Exception)信息

异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置. 这里获取异常(Exception)信息采用try...except...程序结构.如下所示: try: ... except Exception, e: ...经典例子: import traceback print '########################################################' print "1/0 Exception Info" print '---

Python中获取当前日期的格式

在Python里如何获取当前的日期和时间呢?在Python语言里,我们可以通过调用什么模块或者类函数来得到当前的时间或日期呢? 当然你可以使用时间模块(time module),该模块提供了各种和时间相关的函数.但是这个模块里的一些函数在某些平台里不可用.那么怎么办呢?我们 可以使用一个更高级的面向对象的接口函数:datetime.它提供了操作日期和时间的多种简单或复杂的方法. python里使用time模块来获取当前的时间 1 2 3 time.strftime(format) time.st

python中os模块简单了解(系统命令和路径的获取)

import osos:包含了普遍的操作系统的功能 #获取炒作系统类型,nt-->windows posix-->Linux.Unix或者# Mac os Xprint(os.name)#nt #打印操作系统的详细信息(主要windous不支持)#print(os.uname()) #获取操作系统中的环境变量#print(os.environ) #获取指定环境变量#print(os.environ.get("ALLUSERSPROFILE")) #获得当前目录print(o

python进阶四(类的继承)【4-5 python中获取对象信息】

python中获取对象信息 拿到一个变量,除了用 isinstance() 判断它是否是某种类型的实例外,还有没有别的方法获取到更多的信息呢? 例如,已有定义: 1 class Person(object): 2 def __init__(self, name, gender): 3 self.name = name 4 self.gender = gender 5 6 class Student(Person): 7 def __init__(self, name, gender, score