首页 > 编程知识 正文

Python获取磁盘大小的方法

时间:2023-11-20 23:23:50 阅读:296090 作者:ORKP

磁盘大小是指计算机硬盘的存储容量,获取磁盘大小对于开发工程师来说是一项重要的任务。在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库。通过这些方法,开发工程师可以方便地获取磁盘大小,并进行相应的操作和判断。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。