📅  最后修改于: 2023-12-03 15:34:12.792000             🧑  作者: Mango
Python可以通过调用系统的命令来检查磁盘空间,常用的命令为df -h
,我们可以使用Python的subprocess
模块来执行该命令并获取输出结果。
import subprocess
def check_disk_usage(disk):
"""返回磁盘使用信息"""
command = "df -h {}".format(disk)
result = subprocess.check_output(command, shell=True)
result = result.decode("utf-8")
lines = result.split("\n")
# 分离标题和数据
headers = [value for value in lines[0].split(" ") if value != ""]
values = [value for value in lines[1].split(" ") if value != ""]
return dict(zip(headers, values))
if __name__ == "__main__":
print(check_disk_usage("/"))
我们定义了一个函数check_disk_usage
,其参数为磁盘路径disk
,函数返回一个字典对象,包含磁盘使用信息。
使用subprocess.check_output
执行df -h
命令,并通过split
方法将输出结果按行分隔,分离出标题和数据,再通过zip
方法将标题和数据组合成字典对象返回。
result = subprocess.check_output(command, shell=True)
result = result.decode("utf-8")
lines = result.split("\n")
# 分离标题和数据
headers = [value for value in lines[0].split(" ") if value != ""]
values = [value for value in lines[1].split(" ") if value != ""]
return dict(zip(headers, values))
在if __name__ == "__main__":
中调用check_disk_usage
函数,并打印输出结果。
if __name__ == "__main__":
print(check_disk_usage("/"))
输出结果:
{'文件系统': '/', '容量': '2.8G', '已用': '2.1G', '可用': '607M', '已用%': '76%', '挂载点': '/'}
这里返回了磁盘/
的使用信息,包括文件系统、容量、已用空间、可用空间、已用百分比和挂载点。可以根据实际需求修改函数参数,获取其它磁盘的使用信息。