包含目录的分区上的可用inode数

时间:2012-09-08 03:35:56

标签: linux unix filesystems diskspace inode

我在Linux下运行的Python脚本会在给定目录中生成大量微小文件。但是,许多Linux文件系统(如ext4)在创建时设置了固定数量的inode,因此我想确保在启动之前可以将那么多文件保存到该目录中。在命令行中,您可以使用df -i /some/directory来查看此数字。

如何在Python中找到目录所在文件系统上的可用inode数?

1 个答案:

答案 0 :(得分:3)

这可以使用statvfs系统调用来完成。在Python(2和3)中,可以使用os.statvfs访问它。该调用描述了包含路径指定的文件/目录的文件系统。

因此,要获取免费inode的数量,请使用

#import os
os.statvfs('/some/directory').f_favail

此外,可能会为root用户保留一定百分比的inode。如果脚本以root身份运行,并且您希望允许它使用保留的inode,请使用f_ffree而不是f_favail