磁盘大小是指计算机硬盘的存储容量,获取磁盘大小对于开发工程师来说是一项重要的任务。在Python中,可以使用多种方法来获取磁盘的大小信息。本文将从多个方面介绍Python获取磁盘大小的方法。
一、使用psutil库
import psutil # 获取所有磁盘的分区信息 disk_partitions = psutil.disk_partitions() for partition in disk_partitions: print(f"分区路径:{partition.device}") print(f"挂载点:{partition.mountpoint}") print(f"文件系统类型:{partition.fstype}") # 获取磁盘使用情况 disk_usage = psutil.disk_usage(partition.mountpoint) print(f"总容量:{disk_usage.total//(1024**3)} GB") print(f"已使用容量:{disk_usage.used//(1024**3)} GB") print(f"可用容量:{disk_usage.free//(1024**3)} GB") print(f"使用率:{disk_usage.percent}%") print()
psutil是一个跨平台的库,可以方便地获取系统信息,包括磁盘大小。使用psutil的disk_partitions方法可以获取所有磁盘的分区信息,然后使用disk_usage方法可以获取磁盘的使用情况,包括总容量、已使用容量、可用容量和使用率。
二、使用subprocess库
import subprocess # Windows系统 result = subprocess.run(['wmic', 'logicaldisk', 'get', 'size,freespace,caption'], capture_output=True, encoding='GBK') output = result.stdout.strip().split('n')[1:] for line in output: size, free_space, caption = line.split() total_size_GB = int(size) // (1024**3) free_space_GB = int(free_space) // (1024**3) print(f"磁盘分区:{caption}") print(f"总容量:{total_size_GB} GB") print(f"可用容量:{free_space_GB} GB") print() # Linux/Mac系统 result = subprocess.run(['df', '-h'], capture_output=True, encoding='UTF-8') output = result.stdout.strip().split('n')[1:] for line in output: file_system, size, used, available, percent, mount_point = line.split() print(f"文件系统:{file_system}") print(f"总容量:{size}") print(f"已使用容量:{used}") print(f"可用容量:{available}") print(f"使用率:{percent}") print(f"挂载点:{mount_point}") print()
subprocess是Python提供的一个标准库,可以用于执行外部命令。对于Windows系统,可以使用wmic命令获取磁盘大小信息;对于Linux/Mac系统,可以使用df命令获取磁盘大小信息。通过subprocess库可以方便地调用这些命令,并解析命令的输出结果。
三、使用os库
import os # 获取所有磁盘的分区信息 partitions = os.popen('df -h').read().strip().split('n')[1:] for partition in partitions: file_system, size, used, available, percent, mount_point = partition.split() print(f"文件系统:{file_system}") print(f"总容量:{size}") print(f"已使用容量:{used}") print(f"可用容量:{available}") print(f"使用率:{percent}") print(f"挂载点:{mount_point}") print()
os库是Python的标准库,提供了对操作系统的访问接口。使用os.popen方法可以执行shell命令,并获取其输出结果。通过执行df命令可以获取磁盘大小信息,然后解析输出结果即可。
四、使用psutil库获取单个文件夹的大小
import psutil # 获取指定文件夹的大小 folder_path = '/path/to/folder' folder_size = psutil.disk_usage(folder_path).used print(f"文件夹大小:{folder_size//(1024**3)} GB")
除了获取整个磁盘的大小外,有时候需要获取指定文件夹的大小。使用psutil库的disk_usage方法可以方便地获取指定文件夹的大小。
五、总结
本文介绍了多种方法获取Python中磁盘大小的技巧,包括使用psutil库、subprocess库和os库。通过这些方法,开发工程师可以方便地获取磁盘大小,并进行相应的操作和判断。