2025-03-05
编程
00
请注意,本文编写于 54 天前,最后修改于 54 天前,其中某些信息可能已经过时。

目录

1.安装psutil包
2.使用psutil查询磁盘使用情况
2.1获取特定路径的磁盘使用情况
2.2获取所有挂载点的磁盘使用情况

psutil(Process and System Utilities)是一个跨平台库,用于检索有关正在运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器等)的信息。它主要用于系统监控、分析和限制进程资源以及管理正在运行的服务等任务。对于查询磁盘使用情况,psutil提供了比shutil更详细的功能。

1.安装psutil包

首先,你需要安装psutil。可以通过pip来安装:

bash
pip install psutil

2.使用psutil查询磁盘使用情况

psutil提供了一个名为disk_usage()的函数来获取磁盘使用情况,这个函数与shutil中的同名函数类似,但可以提供更多细节,并且可以直接获取所有挂载点的信息。

下面是一些具体的示例代码,展示了如何使用psutil进行磁盘使用情况的查询:

2.1获取特定路径的磁盘使用情况

python
import psutil # 指定你想要查询的路径,可以是任意存在的目录或驱动器 path = "/" # 在Windows上,可以是类似 'C:\\' 的路径 # 获取磁盘使用情况 disk_usage = psutil.disk_usage(path) print(f"磁盘总量: {disk_usage.total >> 30} GB") print(f"已使用: {disk_usage.used >> 30} GB") print(f"可用: {disk_usage.free >> 30} GB") print(f"使用百分比: {disk_usage.percent}%")

2.2获取所有挂载点的磁盘使用情况

如果你想要查看系统中所有挂载点的磁盘使用情况,可以使用psutil.disk_partitions()结合psutil.disk_usage()来实现:

python
import psutil # 获取所有挂载点 partitions = psutil.disk_partitions() for partition in partitions: print(f"=== 分区: {partition.device} ===") print(f"挂载点: {partition.mountpoint}") print(f"文件系统类型: {partition.fstype}") try: usage = psutil.disk_usage(partition.mountpoint) print(f"磁盘总量: {usage.total >> 30} GB") print(f"已使用: {usage.used >> 30} GB") print(f"可用: {usage.free >> 30} GB") print(f"使用百分比: {usage.percent}%") except PermissionError: # 忽略权限不足无法访问的分区 continue

上述代码会遍历系统的每一个挂载点,并打印出每个挂载点的磁盘使用情况,包括总空间、已用空间、可用空间以及使用百分比。注意,在某些情况下,可能会遇到权限问题而无法访问某些分区,这时我们可以简单地忽略这些错误并继续处理其他分区。