这篇文章主要给大家介绍了关于计算机编程语言中psutil的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用计算机编程语言具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
psutil简介
psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括中央处理器,内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和太阳太阳系等操作系统。
如果安装了蟒蛇,普苏蒂尔就可以使用,当然也可使用点安装,使用前先要导包:
导入psutil
主要方法简介
psutil.disk_partitions()返回是一个磁盘分区信息,包括(设备、挂载点、fstype、opts);
psutil.disk_usage()返回磁盘使用情况:
disk=psutil.disk_partitions()
对于磁盘中的我:
打印('磁盘:%s分区格式:%s' % (i.device,i.fstype)) #盘符分区格式
disk _ use=psutil。磁盘使用情况(如设备)
打印('使用了:%.1f GB,空闲:%.1f GB,总共:%.1f GB,使用率%.1f%%,' %(
disk_use.used/1024/1024/1024,disk_use.free/1024/1024/1024,disk_use.total/1024/1024/1024,
disk_use.percent))
磁盘:C:\分区格式:NTFS
使用了:34.8 GB,空闲:48.2GB,总共:83.0 GB,使用率41.9%,
磁盘:D:\分区格式:NTFS
使用了:110.5 GB,空闲:89.2GB,总共:199.7 GB,使用率55.4%,
磁盘:E:\分区格式:NTFS
使用了:100.1 GB,空闲:95.2GB,总共:195.3 GB,使用率51.3%,
磁盘:F:\分区格式:NTFS
使用了:120.6 GB,空闲:64.4GB,总共:184.9 GB,使用率65.2%,
psutil.cpu_percent() cpu的利用率
psutil.virtual_memory()内存情况
memory=psutil.virtual_memory()
#已用内存使用的
#内存总数总共
ab=float(已用内存)/float(内存总数)* 100
打印('内存使用率为:% .2f % % ' % ab)
psutil.net_io_counters()网络使用情况,可以监控电脑每一个网口的上传,下载等信息;每个电脑由于网口名字不同,返回的信息不太一样。用下面的代码可以先打印出来你电脑的网口信息:
打印(PS util。net _ io _ counters(pernic=True))
你会得到类型下面的信息:
{'以太网:snetio(bytes_sent=0,bytes_recv=0,packets_sent=0,packets_recv=0,errin=0,errout=0,dropin=0,dropout=0),'本地连接" * 2":SNE TiO(bytes _ sent=0,bytes_recv=0,packets_sent=0,packets_recv=0,errin=0,errout=0,dropin=0,drop=0),斯奈蒂奥(bytes_sent=597,bytes_recv=13,packets _ recv=596,packets_recv=13,errin=0,errout=0,dropin=0,drop=0)," VMware网络适配器虚拟机网络8”:SNE TiO(已发送字节数蓝牙网络连接:snetio(bytes_sent=0,bytes_recv=0,packets_sent=0,packets_recv=0,errin=0,errout=0,dropin=0,dropin=0),'环回伪接口' 1': snetio(bytes_sent=0,bytes_recv=0,packets_recv=0,errin=0,errout=0,dropin=0,drop in=0),' Teredo隧道伪接口:snetio(bytes_sent=13724,字节
现在你就可以愉快的监控宽带或无线局域网的上传和下载速度了,代码如下:
导入psutil
导入时间
极好的网络状态():
rec v1=PS util。net _ io _ counters(pernic=True)[' WLAN '][1]#接收数据
send 1=PS util。net _ io _ counters(pernic=True)[' WLAN '][0]#上传数据
time.sleep(1) #每隔1s监听端口接收数据
rec v2=PS util。net _ io _ counters(pernic=True)[' WLAN '][1]
send 2=PS util . net _ io _ counters(pernic=True)[' WLAN '][0]
#上传数据
return '上传:% . 1f kb/s . ' %((send 2-send 1)/1024.0),'下载:% . 1f kb/s . ' %((rec v2-rec v1)/1024.0
虽然正确:
s1=net_state()[0]
s2=net_state()[1]
打印('当前上传和下载速度为:')
打印(s1)
打印(s2)
打印('-')
如果不想每次都运行这个脚本,可以用pyinstaller打包。教程请参考上一篇文章。
总结
这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。