2

我有一个在 Linux 下运行的 Python 脚本,它在给定目录中生成大量小文件。但是,许多 Linux 文件系统(如 ext4)在创建时设置了固定数量的 inode,因此我想确保在开始之前可以将这么多文件保存到该目录中。从命令行,您可以使用df -i /some/directory.

在 Python 中,如何找到该目录所在的文件系统上的空闲 inode 数量?

4

1 回答 1

4

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

因此,要获取空闲 inode 的数量,请使用

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

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

于 2012-09-08T03:35:55.850 回答