zoukankan      html  css  js  c++  java
  • [Python Study Notes]内存信息

    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    >>文件: 内存信息.py
    >>作者: liu yang
    >>邮箱: liuyang0001@outlook.com
    
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import sys,os
    import psutil
    
    
    '''将bytes数转换成更加直观的符号显示'''
    def bytes2symbols(bytes_value):
    
        '''单位符号'''
        symbols = ('K' ,'M', 'G', 'T', 'P', 'E', 'Z', 'Y')
    
        '''每个单位对应的bytes数的字典,先定义为空'''
        prefix={}
    
        '''要得到这样的{K:1024, M:1024*1024,G:1024**3},进行for循环'''
        for i,s in enumerate(symbols):
            # '''enumerate()为列举函数'''
            # '''i:代表下标'''
            # '''s:代表改下标对应的值'''
    
            # '''取到符号元组的值,作为prfix字典的key,根据key给value进行赋值'''
            prefix[s]=1024**(i+1)
    
        # '''打印得到的对应字典'''
        # print(prefix)
        symbols_value=0
        symbol=''
        # '''循环prefix字典,得到转换值'''
        for key,value in prefix.items():
            if bytes_value >=value :
                symbols_value=bytes_value/value
                symbol=key
            # 如果不满足最小的KB,则以B显示
            elif bytes_value <1024:
                return  '%0.2fB'%bytes_value
            # '''返回转换值(str)'''
        return  '%0.2f%sB'%(symbols_value,symbol)
    
    def memory_message():
        nt=psutil.virtual_memory()
        # 得到的数据:svmem(total=8482263040, available=1770676224, percent=79.1, used=6711586816, free=1770676224)
        # print(nt)
        total=bytes2symbols(nt.total)
        available=bytes2symbols(nt.available)
        percent=bytes2symbols(nt.percent)
        used=bytes2symbols(nt.used)
        free=bytes2symbols(nt.free)
    
        print("内存信息:   总内存:%4s     可使用:%4s     已使用:%4s"%(total,available,used))
    
    if __name__ == '__main__':
    
        memory_message()
    
  • 相关阅读:
    HBase原理和架构
    Hive UDF作业
    Hive性能调优
    hive
    Netty4.0学习笔记系列之一:Server与Client的通讯
    JAVA NIO 简介(转)
    设计模式之观察者模式(Observer Pattern)
    设计模式之装饰者模式(Decorator Pattern)
    mysql存储过程写法—动态参数运用
    hashCode() 和equals() 区别和作用
  • 原文地址:https://www.cnblogs.com/liu66blog/p/8449866.html
Copyright © 2011-2022 走看看