shutil.disk_usage() の使い方
shutil.disk_usage() メソッドに、取得したいディスクのパスを渡します。結果は 名前付きタプル(named tuple)で返されます。 このタプルは「total」「used」「free」の3項目が含まれ、total が ディスクのサイズ、used が 使用量、free が 空き容量です。 容量の単位は Byte で、型は int型です。
import shutil
<取得結果> = shutil.disk_usage(<取得したいディスクのパス>)
<ディスクサイズ> = <取得結果>.total
<ディスク使用量> = <取得結果>.used
<ディスク空き容量> = <取得結果>.free
サンプルコード
次のサンプルコードは shutil.disk_usage() を使用し、Cドライブのサイズ を さまざまな単位(バイト、キロバイト、メガバイト、ギガバイト、テラバイト)で表示します。また、ディスクの使用率(使用済みの容量を全体の容量で割ったもの)も計算し、表示します。import shutil
# Cドライブのディスク容量を取得
resultTuple = shutil.disk_usage('c:')
print('単位 = Byte')
print(f'ディスク容量: {resultTuple.total} Byte')
print(f'使用済み : {resultTuple.used} Byte')
print(f'使用可能 : {resultTuple.free} Byte')
print('単位 = Kilo Byte')
print(f'ディスク容量: {resultTuple.total / 1024} KByte')
print(f'使用済み : {resultTuple.used / 1024} KByte')
print(f'使用可能 : {resultTuple.free / 1024} KByte')
print('単位 = Mega Byte')
print(f'ディスク容量: {resultTuple.total / 1024**2} MByte')
print(f'使用済み : {resultTuple.used / 1024**2} MByte')
print(f'使用可能 : {resultTuple.free / 1024**2} MByte')
print('単位 = Giga Byte')
print(f'ディスク容量: {resultTuple.total / 1024**3} GByte')
print(f'使用済み : {resultTuple.used / 1024**3} GByte')
print(f'使用可能 : {resultTuple.free / 1024**3} GByte')
print('単位 = Tera Byte')
print(f'ディスク容量: {resultTuple.total / 1024**4} TByte')
print(f'使用済み : {resultTuple.used / 1024**4} TByte')
print(f'使用可能 : {resultTuple.free / 1024**4} TByte')
print('使用率')
print(f'{resultTuple.used / resultTuple.total * 100} %')
参考資料
検証環境
- Python 3.11.3 (tags/v3.11.3:f3909b8, Apr 4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32
- Microsoft Windows 10 Enterprise Version 22H2 OS Build 19045.3693 Experience: Windows Feature Experience Pack 1000.19053.1000.0