2

特定のディレクトリに膨大な数の小さなファイルを生成する Python スクリプトを Linux で実行しています。ただし、ext4 などの多くの Linux ファイルシステムでは、作成時に固定数の inode が設定されているため、開始前にそのディレクトリに多くのファイルを保存できることを確認したいと考えています。コマンド ラインから、 を使用してこの番号を確認できますdf -i /some/directory

Pythonで、ディレクトリが存在するファイルシステム上の空きiノードの数をどのように見つけますか?

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 に答える