Pythonでファイルサイズを取得してみます。
なお、今回ファイルサイズを取得するためにosモジュールを使用しますが、Pythonの標準ライブラリですので、事前にosモジュールをインストールする必要はありません。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■ファイルサイズを取得するファイルを用意する
Pythonでファイルサイズを取得してみますが、その前にファイルサイズを取得するファイルを用意します。
今回は、著作権フリーのjpg形式の画像ファイルを用意しました。(sample_img.jpg)
ファイルが保存されている場所は、「C:\Users\user\test(フォルダパス)」です。
■ファイルサイズを取得する
ファイルの用意ができましたので、ファイルサイズを取得してみます。
■コード
import os file_size = os.path.getsize(r"C:\Users\user\test\sample_img.jpg") print("ファイルサイズは、", file_size, "bytes")
インポートでosモジュールを呼び出して、file_sizeという変数を作成し、os.path.getsize()で括弧内にファイルサイズを取得したいファイルを指定します。
最後にprint関数でfile_sizeという変数に格納したファイルサイズを出力します。
■実行
今回のスクリプトを、「get_filesize01.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、今回用意した画像ファイルのファイルサイズが取得され出力できることを確認できました。
■OSモジュールのstat関数を使用する
次にOSモジュールのstat関数を使用し、ファイルサイズを取得してみます。
■コード
import os file_size = os.stat(r"C:\Users\user\test\sample_img.jpg") print("ファイルサイズは、", file_size.st_size, "bytes")
インポートでosモジュールを呼び出して、file_sizeという変数を作成し、os.stat()で括弧内にファイルサイズを取得したいファイルを指定します。
最後に、print関数でfile_sizeという変数に格納したファイルの情報を出力するのですが、この時にst_size属性を記述することで、ファイルサイズが出力されます。
■実行
今回のスクリプトを「get_filesize02.py」という名前に変更し、コマンドプロンプトから実行してみます。
実行してみると、ファイルサイズが取得され出力できることを確認できました。
■Fileオブジェクトを使用する
次にFileオブジェクトを使用し、ファイルサイズを取得してみます。
■コード
import os file = open(r"C:\Users\user\test\sample_img.jpg") file.seek(0, os.SEEK_END) print("ファイルサイズは、", file.tell(), "bytes")
インポートでosモジュールを呼び出して、fileという変数を作成し、open()で今回用意した画像ファイルを開きます。
開いた後にseek()で括弧内に第1の引数は開いたファイルの開始位置を指定し、第2の引数は開いたファイルの終了位置を指定します。このようにすることで、プログラムが指定された位置を動いたバイト数に相当する現在の位置を取得できます。
指定した後にprint関数で、取得したファイルの情報をtell()と記述することでファイルサイズをバイト単位で出力できます。
■実行
今回のスクリプトを「get_filesize03.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、ファイルサイズが出力できることを確認できました。
コメント