ディスクの空き容量を調べる

Windowsの場合

(まだ編集中です)

Unixの場合

os.statvfs()を使います。

import os

path = '/'
st = os.statvfs(path)

## st.f_bsize   ... ファイルI/Oリクエストで使われるブロックのバイト数
## st.f_frsize  ... 以下の「ブロック数」で使われるブロックのバイト数
## st.f_blocks  ... ブロック数の総計
## st.f_bfree   ... 空きブロック数の総計
## st.f_bavail  ... 非スーパユーザが利用できる空きブロック数
## st.f_files   ... ファイルノード数の総計
## st.f_ffree   ... 空きファイルノード数の総計
## st.f_favail  ... 非スーパユーザが利用できる空きノード数
## st.f_flag    ... (OS依存:リードオンリ、SUIDなどのフラグ)
## st.f_namemax ... ファイル名の最大バイト数

print '全体:', st.f_frsize * st.f_blocks
print '使用:', st.f_frsize * (st.f_blocks-st.f_bfree)
print '空き:', st.f_frsize * st.f_avail