Python | ファイルのサイズを取得する方法

2023-02-26Python ファイル・ディレクトリ,Python

Python | ファイルのサイズを取得する方法

Pythonで「os」モジュールのos.path.getsize()関数を使ってファイルのサイズを取得する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

ファイルのサイズを取得する

Pythonでファイルサイズを取得するには「os」モジュールのos.path.getsize()関数が利用できます。
os.path.getsize()関数では第一引数にファイルのパスを指定します。
os.path.getsize()関数はファイルサイズは、単位はバイト(Byte)の整数で返します。

サンプルコードでは、以下の手順でファイルサイズを取得しています。

  1. osモジュールをインポートする
  2. 取得するファイルのパスを指定する
  3. path.getsize()関数でファイルサイズを取得する
  4. 必要な場合、KB単位に変換する

下記のサンプルコードでは同階層にある「test.txt」というファイルのサイズを取得しています。
ファイルが見つからない場合は「FileNotFoundError」が出力されます。

import os

file = "test.txt"  # ファイルのパス
file_size = os.path.getsize(file)  # ファイルサイズを取得

print(file_size)
# 1266

単位をバイト(Byte)からキロバイト(KB)に変換するには1024で割ります。

import os

# ファイルのパス
file = "test.txt"
# ファイルサイズを取得
file_size = os.path.getsize(file)

# byteをKBに変換して小数点以下2位に四捨五入
file_size = round(file_size / 1024, 2)

print(file_size)
# 1.24

単位を変換しないまま、表示上でキロバイト(KB)を表示する場合は以下のように記述できます。

import os

# ファイルのパス
file = "test.txt"
# ファイルサイズを取得
file_size = os.path.getsize(file)

KBに変換しないまま、小数点以下2位でKB表示
print(f"{round(file_size/ 1024, 2)} KB")
# 1.24 KB

round()ではない方法で小数点以下2桁で表示する場合は、書式変換で対応できます。

print(f"{file_size/ 1024:.2f} KB")
# 1.24 KB