python虚拟变量教程(Python中psutil的介绍与用法)
python虚拟变量教程
Python中psutil的介绍与用法psutil简介
psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括cpu、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如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和sun solaris等操作系统.
如果安装了anaconda,psutil就可以使用,当然也可使用pip安装,使用前先要导包:
|
import psutil |
主要方法简介
psutil.disk_partitions()
返回是一个磁盘分区信息,包括(device, mountpoint, fstype, opts);
psutil.disk_usage()
返回磁盘使用情况:
|
disk = psutil.disk_partitions() for i in disk: print ( "磁盘:%s 分区格式:%s" % (i.device, i.fstype)) # 盘符 分区格式 disk_use = psutil.disk_usage(i.device) print ( "使用了:%.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() # memory.used 使用的 # memory.total 总共 ab = float (memory.used) / float (memory.total) * 100 print ( "内存使用率为:%.2f%%" % ab) |
psutil.net_io_counters() 网络使用情况,可以监控电脑每一个网口的上传,下载等信息;每个电脑由于网口名字不同,返回的信息不太一样。用下面的代码可以先打印出来你电脑的网口信息:
|
print (psutil.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' : snetio(bytes_sent = 0 , bytes_recv = 0 , packets_sent = 0 , packets_recv = 0 , errin = 0 , errout = 0 , dropin = 0 , dropout = 0 ), 'vmware network adapter vmnet1' : snetio(bytes_sent = 597 , bytes_recv = 13 , packets_sent = 596 , packets_recv = 13 , errin = 0 , errout = 0 , dropin = 0 , dropout = 0 ), 'vmware network adapter vmnet8' : snetio(bytes_sent = 1919 , bytes_recv = 13 , packets_sent = 1919 , packets_recv = 13 , errin = 0 , errout = 0 , dropin = 0 , dropout = 0 ), 'wlan' : snetio(bytes_sent = 3993804 , bytes_recv = 76316885 , packets_sent = 35011 , packets_recv = 63467 , errin = 0 , errout = 0 , dropin = 0 , dropout = 0 ), '蓝牙网络连接' : snetio(bytes_sent = 0 , bytes_recv = 0 , packets_sent = 0 , packets_recv = 0 , errin = 0 , errout = 0 , dropin = 0 , dropout = 0 ), 'loopback pseudo-interface 1' : snetio(bytes_sent = 0 , bytes_recv = 0 , packets_sent = 0 , packets_recv = 0 , errin = 0 , errout = 0 , dropin = 0 , dropout = 0 ), 'teredo tunneling pseudo-interface' : snetio(bytes_sent = 13724 , bytes_recv = 760 , packets_sent = 102 , packets_recv = 5 , errin = 0 , errout = 0 , dropin = 0 , dropout = 0 )} |
现在你就可以愉快的监控宽带或wlan的上传和下载速度了,代码如下:
|
import psutil import time def net_state(): recv1 = psutil.net_io_counters(pernic = true)[ 'wlan' ][ 1 ] #接收数据 send1 = psutil.net_io_counters(pernic = true)[ 'wlan' ][ 0 ] #上传数据 time.sleep( 1 ) # 每隔1s监听端口接收数据 recv2 = psutil.net_io_counters(pernic = true)[ 'wlan' ][ 1 ] send2 = psutil.net_io_counters(pernic = true)[ 'wlan' ][ 0 ] # 上传数据 return 'upload:%.1f kb/s.' % ((send2 - send1) / 1024.0 ), 'download:%.1f kb/s.' % ((recv2 - recv1) / 1024.0 ) while true: s1 = net_state()[ 0 ] s2 = net_state()[ 1 ] print ( '当前上传和下载速度为:' ) print (s1) print (s2) print ( '---------------------' ) |
如果你不想每次都运行这脚本,可以使用,教程可以参考前面的文章。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。
原文链接:https://juejin.im/post/5cc95ee0e51d456e5b66ae04
- python 3.10 循环语法(Python3.4学习笔记之常用操作符,条件分支和循环用法示例)
- sqlserver 锁表原因(SQL Server学习笔记之事务、锁定、阻塞、死锁用法详解)
- mysql中命令大全(MySQL中ESCAPE关键字的用法详解)
- C#中static静态变量的用法
- css中ul li的用法
- Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】(Python HTML解析器BeautifulSoup用法实例详解爬虫解析器)
- php入门基本笔记(PHP之认识二关于Traits的用法详解)
- thinkphp从模板自定义标签(Thinkphp5.0框架视图view的循环标签用法示例)
- python datetime模块是什么(Python中时间datetime的处理与转换用法总结)
- php去水印方法(PHP开发的文字水印,缩略图,图片水印实现类与用法示例)
- mysql完整整理(Mysql隔离性之Read View的用法说明)
- vue router用法(如何在Vue 3中扩展Vue Router链接详解)
- Ext.MessageBox.show()的用法及参数配置
- php实例说明(PHP中Static静态关键字功能与用法实例分析)
- php 静态方法(PHP的静态方法与普通方法用法实例分析)
- SCOPE_IDENTITY的用法
- 必看 8月,相比七夕,更需要注意的是这些事(必看8月相比七夕)
- 8月23日11时16分将迎处暑,逐渐进入气象意义上的秋天(8月23日11时16分将迎处暑)
- 花不语 下 如果重来一次的话,你还会这么选择吗(花不语下如果重来一次的话)
- 城市记忆之上海 最难忘的是老弄堂里的市井味道(城市记忆之上海)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
热门推荐
- sqlserver新建表参数错误(Sql Server中判断表、列不存在则创建的方法)
- docker容器的三大组件(docker容器下配置jupyter notebook的操作)
- python图书管理系统(python面向对象法实现图书管理系统)
- mysqljoin默认是什么(mysql-joins具体用法说明)
- sql语句实现分页(SQL 窗口函数实现高效分页查询的案例分析)
- 用python3.5.3实现邮件收发(Python使用POP3和SMTP协议收发邮件的示例代码)
- python装饰器怎么编写(Python函数装饰器常见使用方法实例详解)
- sqlserver日志目录是否过大(SQL Server利用sp_spaceused如何查看表记录存在不准确的情况)
- 宝塔小程序制作(宝塔面板微信小程序使用图文教程)
- php对接微信付款(PHP微信支付功能示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9