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()
メソッドは現在のカーソル位置を返します。カーソルは既に終端に設定されているので、ここでの結果はファイルサイズと同じになります。