python中psutil模块的使用详解(python3经典编程案例)

简介: 这篇文章介绍了如何使用Python的`pyinstaller`库打包应用程序,并提供了详细的打包步骤和参数说明。

一. psutil模块的介绍

psutil(process and system utilities) 是一个跨平台的库,用于在Python中检索有关运行进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。

它主要用于系统监控、分析和限制流程资源以及管理正在运行的流程。

它实现了经典UNIX命令行工具提供的许多功能,如ps、top、iotop、lsof、netstat、ifconfig、free等。

psutil模块可以跨平台使用,支持Linux/UNIX/OSX/Windows等,它主要用来做系统监控,性能分析,进程管理等。

在python中,可以使用psutil这个第三方模块去获取信息的信息。

github地址:https://github.com/giampaolo/psutil

官方文档:https://psutil.readthedocs.io/en/latest/

安装:pip3 install psutil

二. psutil模块的使用

2.1 获取cpu信息
import psutil

# 1. 获取CPU的完整信息
print(psutil.cpu_times())

# 2. 获取CPU的逻辑个数
print(psutil.cpu_count())

# 3. 获取CPU的物理个数
print(psutil.cpu_count(logical=False))


# 4. psutil获取系统CPU使用率的方法是cpu_percent(),其有两个参数,分别是interval和percpu
# interval指定的是计算cpu使用率的时间间隔,percpu则指定是选择总的使用率还是每个cpu的使用率
for x in range(10):
    print(psutil.cpu_percent(interval=1))

    print(psutil.cpu_percent(interval=1,percpu=True))
2.2 获取内存信息
import psutil
# 1. 获取系统内存的使用情况
print(psutil.virtual_memory())

# 2. 获取系统交换内存的统计信息
print(psutil.swap_memory())
2.3 获取磁盘信息
# 1. 获取磁盘分区的信息
print(psutil.disk_partitions())
# 2. 获取磁盘的使用情况
print(psutil.disk_usage('/'))
# 3. 获取磁盘的IO统计信息(读写速度等)
print(psutil.disk_io_counters())
2.4 获取网络信息
# 1. 获取总的网络IO信息
print(psutil.net_io_counters())
# 2. 获取网卡的IO信息
print(psutil.net_io_counters(pernic=True))
# 3. 获取网络接口信息
print(psutil.net_if_addrs())
# 4. 获取网络接口状态信息
print(psutil.net_if_stats())
2.5 获取其他系统信息
# 获取系统的开机时间,并转化为自然的格式
print(psutil.boot_time())
# 获取连接系统的用户列表
print(psutil.users())
# 获取系统全部的进程信息
print(psutil.pids())
# 获取单个进程的信息, 获取指定进程ID=780
print(psutil.Process(780))
2.6 模拟出ps命令的效果
print(psutil.test())
2.7 以json的形式返回进程的pid和名称
for proc in psutil.process_iter(['pid', 'name']):
    print(proc.info)

# 运行结果入下:
{
   'pid': 35907, 'name': 'Google Chrome Helper (Renderer)'}
{
   'pid': 36575, 'name': 'com.apple.Safari.SafeBrowsing.Service'}
{
   'pid': 36729, 'name': 'com.apple.AppleU'}

❤️ 如果觉得有用,可以关注或者收藏一下哦 !!!❤️

相关文章
|
9月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
1030 7
|
9月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
532 3
|
9月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
767 3
|
9月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
805 0
|
9月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
1264 0
|
Python 人工智能 数据可视化
Python模块与包(八)
Python模块与包(八)
285 0
Python模块与包(八)
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
746 159
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
556 159
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性

推荐镜像

更多