Python でファイルサイズをチェックする
-
Python で
pathlibモジュールを使ってファイルサイズをチェックする - Python でファイルサイズをチェックする
-
Python で
os.statメソッドを使用してファイルサイズを確認する - Python でファイルオブジェクトメソッドを使用してファイルサイズを確認する
ファイルとは、1つの単位に格納されているさまざまなデータの集合体のことです。ファイルサイズは、ファイルがハードディスクのような記憶媒体に保存するのに必要な容量を評価します。キロバイト(kB)、メガバイト(MB)、ギガバイト(GB)など、さまざまなメモリ単位で測ることができます。
この記事では、Python でファイルサイズをチェックする方法を紹介します。
Python で pathlib モジュールを使ってファイルサイズをチェックする
Path オブジェクトの stat() メソッドは、st_mode、st_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() メソッドは現在のカーソル位置を返します。カーソルは既に終端に設定されているので、ここでの結果はファイルサイズと同じになります。