Python でファイルサイズをチェックする

Azaz Farooq 2023年1月30日
  1. Python で pathlib モジュールを使ってファイルサイズをチェックする
  2. Python でファイルサイズをチェックする
  3. Python で os.stat メソッドを使用してファイルサイズを確認する
  4. Python でファイルオブジェクトメソッドを使用してファイルサイズを確認する
Python でファイルサイズをチェックする

ファイルとは、1つの単位に格納されているさまざまなデータの集合体のことです。ファイルサイズは、ファイルがハードディスクのような記憶媒体に保存するのに必要な容量を評価します。キロバイト(kB)、メガバイト(MB)、ギガバイト(GB)など、さまざまなメモリ単位で測ることができます。

この記事では、Python でファイルサイズをチェックする方法を紹介します。

Python で pathlib モジュールを使ってファイルサイズをチェックする

Path オブジェクトの stat() メソッドは、st_modest_dev などのファイルの詳細なプロパティを返します。stat メソッドの st_size 属性は、ファイルサイズをバイト単位で示します。

完全なサンプルコードは以下の通りです。

from pathlib import Path

Path(r"C:\test\file1.txt").stat()
file_size = Path(r"C:\test\file1.txt").stat().st_size
print("The file size is:", file_size, "bytes")

ファイルのパスを生の文字列にするためには、前に r を置かなければならません。そうでなければ、C:\\test\\file1.txt のように、バックスラッシュをエスケープする必要があります。

出力:

The file size is: 40 bytes

Python でファイルサイズをチェックする

この Python のモジュール os.path には、ファイルのパスを引数にとり、ファイルのサイズをバイト単位で返す関数 getsize があります。

完全なサンプルコードは以下の通りです。

import os

file_size = os.path.getsize(r"C:\test\file1.txt")
print("File Size:", file_size, "bytes")

出力:

File Size: 20 bytes

Python で os.stat メソッドを使用してファイルサイズを確認する

この Python の os モジュールはファイルサイズを調べるための stat メソッドも提供します。また、ファイルのパスを引数にとり、構造体型のオブジェクトを返します。このオブジェクトは st_size 属性を持ち、ファイルサイズをバイト単位で指定します。

完全なサンプルコードは以下の通りです。

import os

file_size = os.stat(r"C:\test\file1.txt")
print("File Size is", file_size.st_size, "bytes")

出力:

Size of file is 40 bytes

Python でファイルオブジェクトメソッドを使用してファイルサイズを確認する

ファイルのパスを open() 関数に渡し、ファイル操作に使用できるファイルオブジェクトを取得します。

完全なサンプルコードは以下の通りです。

import os

with open(r"C:\test\file1.txt") as file_obj:
    file_obj.seek(0, os.SEEK_END)
    print("File Size is", file_obj.tell(), "bytes")

出力:

File Size is 40 bytes

目的のファイルが開かれた後、ファイルカーソルはファイルの先頭にあります。ファイルオブジェクトの seek メソッドはファイルカーソルを任意の位置に設定します。

file_obj.seek(0, os.SEEK_END)

seek() メソッドの第 1 引数には File オブジェクトのオフセットを、第 2 引数にはファイルの参照位置を指定します。os.SEEK_END は、ファイルオブジェクトの末尾への参照位置を指定します。

したがって、上記のスクリプト行はファイルオブジェクトの末尾にカーソルを設定していることになります。

ファイルオブジェクトの tell() メソッドは現在のカーソル位置を返します。カーソルは既に終端に設定されているので、ここでの結果はファイルサイズと同じになります。

関連記事 - Python File