计算指定路径下的可用空间大小

方法一、使用psutil库

import psutil


def check_disk_space(path):
    usage = psutil.disk_usage(path)
    
    ## 1GB = 1 * 1024 * 1024 * 1024字节
    if usage.free > 1 * 1024 * 1024 * 1024:
        return 1
    else:
        return 0

disk_path = "/home"
result = check_disk_space(disk_path)
print(result)

方法二、使用os模块

import os


def check_disk_space(path):
    stat = os.statvfs(path)
    available_space = stat.f_bavail * stat.f_frsize

    if available_space > 1 * 1024 * 1024 * 1024:
        return 1
    else:
        return 0

disk_path = "/home"
result = check_disk_space(disk_path)
print(result)

方法三、使用shutil模块

import shutil


def check_disk_space(path):
    usage = shutil.disk_usage(path)

    if usage.free > 1 * 1024 * 1024 * 1024:
        return 1
    else:
        return 0

disk_path = "/home"
result = check_disk_space(disk_path)
print(result)

方法四、使用subprocess模块

import subprocess


def check_disk_space(path):
    command = f"df -B1 {path}"
    output = subprocess.check_output(command, shell=True).decode()

    ## 解析输出结果
    lines = output.strip().split("\n")
    header = lines[0].split()
    values = lines[1].split()

    ## 获取可用空间(以字节为单位)
    available_space = int(values[3])

    if available_space > 1 * 1024 * 1024 * 1024:  # 1GB = 1 * 1024 * 1024 * 1024字节
        return 1
    else:
        return 0

disk_path = "/home"
result = check_disk_space(disk_path)
print(result)

方法五、使用df命令行工具

df是一个常用的命令行工具,用于显示文件系统的磁盘空间使用情况。它可以在大多数类Unix操作系统(如Linux、Mac OS)上使用。

以下是df命令的基本语法:

df [选项] [文件或目录]

常用选项包括:

  • -h:以人类可读的方式显示磁盘空间使用情况,以便更容易理解。例如,以GB、MB等单位显示文件大小
  • -a:显示所有文件系统,包括特殊文件系统(如procfs、sysfs等)
  • -i:显示inode的使用情况,而不是磁盘空间使用情况
  • -T:显示文件系统类型
  • -t <文件系统类型>:只显示指定类型的文件系统。例如,-t ext4只显示ext4类型的文件系统
  • -x <文件系统类型>:排除指定类型的文件系统。例如,-x tmpfs排除tmpfs类型的文件系统

示例用法:

df -h /home

"""
输出:
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root  100G   90G   11G   90% /
"""
  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chen_znn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值