psutil
(Process and System Utilities)是一个跨平台库,用于检索有关正在运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器等)的信息。它主要用于系统监控、分析和限制进程资源以及管理正在运行的服务等任务。对于查询磁盘使用情况,psutil
提供了比shutil
更详细的功能。
首先,你需要安装psutil
。可以通过pip来安装:
bashpip install psutil
psutil
查询磁盘使用情况psutil
提供了一个名为disk_usage()
的函数来获取磁盘使用情况,这个函数与shutil
中的同名函数类似,但可以提供更多细节,并且可以直接获取所有挂载点的信息。
下面是一些具体的示例代码,展示了如何使用psutil
进行磁盘使用情况的查询:
pythonimport 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}%")
如果你想要查看系统中所有挂载点的磁盘使用情况,可以使用psutil.disk_partitions()
结合psutil.disk_usage()
来实现:
pythonimport 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
上述代码会遍历系统的每一个挂载点,并打印出每个挂载点的磁盘使用情况,包括总空间、已用空间、可用空间以及使用百分比。注意,在某些情况下,可能会遇到权限问题而无法访问某些分区,这时我们可以简单地忽略这些错误并继续处理其他分区。