在linux上工作大家都会用到df命令
[tommy@tommy-1 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 4.8G 389M 4.2G 9% /
/dev/sda7 271G 3.5G 254G 2% /home
/dev/sda3 4.8G 1.1G 3.5G 24% /usr
/dev/sda2 4.8G 199M 4.3G 5% /var
/dev/sda1 99M 18M 77M 19% /boot
tmpfs 997M 0 997M 0% /dev/shm
这个df命令有个问题,即是磁盘的某个卷有问题,比如offline了
那么很有可能就是当你执行df命令的时候,就挂掉了,
在开发一个系统中,需要随时获得指定磁盘的剩余空间的功能
(如果使用df,很有可能会导致程序block在那里)
所以,我们这里使用python自带的statvfs模块来完成侦测磁盘剩余空间的功能
参考
http://docs.python.org/library/statvfs.html
http://docs.python.org/library/os.html
[mps@mps-1 ~]$ python
Python 2.4.3 (#1, Sep 3 2009, 15:37:37)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import statvfs
>>> vfs=os.statvfs("/home")
>>> vfs
(4096, 4096, 70959944, 70058799, 66396080, 73269248, 73234981, 73234981, 0, 255)
>>> dir(statvfs)
['F_BAVAIL', 'F_BFREE', 'F_BLOCKS', 'F_BSIZE', 'F_FAVAIL', 'F_FFREE', 'F_FILES', 'F_FLAG', 'F_FRSIZE', 'F_NAMEMAX', '__builtins__', '__doc__', '__file__', '__name__']
>>> available=vfs[statvfs.F_BAVAIL]*vfs[statvfs.F_BSIZE]/(1024*1024*1024)
>>> available
253
>>> capacity=vfs[statvfs.F_BLOCKS]*vfs[statvfs.F_BSIZE]/(1024*1024*1024)
>>> capacity
270
>>> used=capacity-available
>>> used
17
>>>
分享到:
相关推荐
### Python 实现获取磁盘剩余空间的两种方法详解 在日常开发工作中,有时我们需要通过脚本来监控或查询系统的磁盘剩余空间。Python 提供了多种方式来实现这一功能,包括跨平台的方法。本文将详细介绍两种不同的方法...
这类工具通常用于帮助用户监控磁盘使用情况,了解剩余空间,以便进行有效的文件管理和系统维护。 在描述中提到的“NULL”表示没有具体的详细描述,但我们可以通过标签“源码”和“工具”推测,这个小工具可能是开源...
本文详细介绍了如何使用Python编程语言检测计算机中硬盘空间的剩余大小以及特定文件夹的内存占用情况。在进行系统资源管理或开发相关工具时,这些功能非常有用。以下是文章中介绍的知识点: 1. Python语言基础:...
当磁盘剩余空间不足以存放新文件时,写入操作自然无法完成。我们可以利用Python的os模块来检查磁盘空间情况。通过os.statvfs函数,可以获取磁盘的剩余空间量,并转换为更易理解的单位,如GB。如果发现磁盘空间不足,...
例如,Windows API提供了`GetDiskFreeSpaceEx`函数,它可以获取磁盘的总容量、已用空间以及剩余空间。在Python中,可以使用`os.statvfs`函数获取类似信息。对于其他编程语言,如Java,可以使用`java.io.File`类的`...
首先,磁盘空间不足是一个常见的问题,如果你怀疑是这个问题导致的错误,可以使用以下代码来检查剩余磁盘空间: ```python import os # 获取磁盘可用空间大小(以字节为单位) available_space = os.statvfs('.').f...
在代码中可以通过statvfs模块来获取磁盘空间信息,并计算出剩余空间,然后再执行文件写入操作。如果剩余空间小于所需空间,则提前抛出异常,避免执行无效的写入操作。 第三,确保文件路径正确也是解决文件写入失败...
例如,一个简单的示例是通过pywin32创建一个Windows服务,该服务定期检查磁盘空间并发送警告邮件: ```python import win32serviceutil import win32service import win32event import servicemanager import os ...
综上所述,"自动产生文件添满硬盘"这一操作涵盖了编程技术(如Python脚本)、文件系统操作(创建、读写文件)、磁盘空间管理、随机数生成以及安全性与效率的考量等多个IT知识点。通过学习和实践这些知识,我们可以更...
这段代码展示了如何获取CPU核心数量、CPU使用率、内存总量、可用内存、内存使用率以及磁盘总容量、剩余空间和磁盘使用率。 接下来,我们讨论通过读取`/proc`目录的方法。`/proc`是一个虚拟文件系统,它提供了运行中...