方法一、使用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 - -x
<文件系统类型>
:排除指定类型的文件系统。例如,-x tmpfs排除tmpfs类型的文件系统
示例用法:
df -h /home
"""
输出:
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 100G 90G 11G 90% /
"""