[Python Study Notes]內存信息
阿新 • • 發佈:2018-02-16
virtual 內存信息 first 進行 __main__ utl name tabs virt
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ >>文件: 內存信息.py >>作者: liu yang >>郵箱: [email protected] ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ #!/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()
[Python Study Notes]內存信息