'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>>文件: 磁盘信息.py
>>作者: liu yang
>>邮箱: liuyang0001@outlook.com ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' #!/usr/bin/env python
# -*- coding: utf-8 -*- import sys,os
import psutil
from time import sleep '''判断平台'''
def platform_judge():
# 将平台信息小写返回
platform=sys.platform.lower()
return platform '''将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) '''实时io速率显示'''
def disk_io_message():
t1 = psutil.disk_io_counters()
sleep(1)
'''判断平台,命令清屏'''
if platform_judge()=='linux':
os.system('clear')
else:
os.system('cls')
t2 = psutil.disk_io_counters()
read_bytes = bytes2symbols(t2.read_bytes - t1.read_bytes)
write_bytes = bytes2symbols(t2.write_bytes - t1.write_bytes)
# tps
tps = t2.read_count + t2.write_count - t1.read_count - t1.write_count
print('读/s:%10s'%read_bytes)
print('写/s:%10s'%write_bytes)
print('Tps:%10d'%tps) '''磁盘分区信息显示'''
def disk_partitions():
# 得到磁盘详细信息的列表
disks=psutil.disk_partitions()
# 循环列表,打印
for disk in disks:
print('%s %6s %10s'%(disk.device,disk.fstype,disk.opts)) if __name__ == '__main__': # platform=platform_judge()
# value=bytes2symbols(1025)
# print(value)
# print(platform)
while True:
disk_io_message()
# 磁盘分区信息
# disk_partitions() # io实时性能信息
# disk_io_message()

最新文章

  1. 深入理解javascript原型和闭包 (转)
  2. calc 多项式计算 (STL版和非STL版) -SilverN
  3. 转 一篇关于sql server 三种恢复模式的文章,从sql server 的机制上来写的,感觉很不错,转了
  4. Java字符串处理函数
  5. 多线程和Boost::Asio
  6. [HDU 4828] Grids
  7. jQuery Ajax(load,post,get,ajax)用法与详解
  8. 从一个模板函数聊聊模板函数里面如何获得T的名字
  9. translate函数使用
  10. HDU-3854 LOOPS
  11. C#递归算法详解
  12. c# 另存为excel
  13. perl 获取文件内容里第一个AAA和最后一个AAA
  14. jQuery获取当前对象标签名称
  15. android bitmap的内存分配和优化
  16. Selenium2Lib库之键盘常用关键字实战
  17. 史诗级Java资源大全中文版
  18. Python简单爬虫获取岗位招聘人数
  19. nginx----------前端写了一套带有vue路由的的功能。放到nginx配置的目录下以后,刷新会报404未找到。
  20. spring data jpa 关键字 命名

热门文章

  1. Spring MVC集成Swagger
  2. java 数据类型间的转换
  3. 关于HTTP请求出现 405状态码 not allowed的解决办法
  4. ubuntu-apache下隐藏thinkphp入口文件index.php
  5. Codeforces 448 D. Multiplication Table 二分
  6. Struts2中Action接收参数的方法主要有以下三种:
  7. linux 硬软链接区别
  8. WinForm中,设置不显示窗口的标题栏
  9. tone()函数的有趣的使用案例
  10. Django_xadmin后台全局设置