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'}

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

相关文章
|
11天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
184 102
|
11天前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
181 104
|
11天前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
177 103
|
11天前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
124 82
|
9天前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
47 4
|
11天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
29 0
|
10月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
317 62
|
10月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
219 61
|
10月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
10月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。

推荐镜像

更多