こんにちは!
皆さんは、Pythonでファイル・ディレクトリのサイズを取得したいと思ったことはありませんか?
ファイルを管理するときにファイルサイズは気になるね!
ファイルのサイズの取得には、「os.path.getsize()」を、ディレクトリのサイズの取得には、「os.listdir」と組み合わせて使うと簡単に行うことができますよ。
今回の記事では、以下の内容について紹介します。
- ファイルのサイズの取得方法
- ディレクトリのサイズの取得方法
ファイルのサイズの取得方法
ファイルのサイズを取得するには、「os.path.getsize()」を使用します。
osモジュールはPythonの標準ライブラリ内にあるため、インストールは必要ありません。
getsize()で得られる数字の単位はバイトです。
それではコードの例を見てみましょう。
ソースコード
import os
print(os.path.getsize("sample.pdf"))
実行結果
66719
sample.pdfのサイズが66719バイトだということがわかりました。
ディレクトリのサイズの取得方法
ディレクトリのサイズの取得は、「os.listdir()」で取得したファイル・ディレクトリのリストに対して、ファイルサイズを取得し、合計することで実現します。
それでは、コード例を見てみましょう。
ソースコード
import os
def get_size_dir(path='.'):
total_size = 0
for dir_path in os.listdir(path):
full_path = os.path.join(path, dir_path)
if os.path.isfile(full_path):
total_size += os.path.getsize(full_path)
elif os.path.isdir(full_path):
total_size += get_size_dir(full_path)
return total_size
print(get_size_dir('data'))
実行結果
21234
elifの部分では、ディレクトリの中のディレクトリのサイズを再帰的に求めています。
dataというディレクトリのサイズが21234バイトだということがわかりました。
まとめ
今回の記事では、以下の内容について紹介しました。
- ファイルのサイズの取得方法
→「os.path.getsize()」を使用 - ディレクトリのサイズの取得方法
→ディレクトリの中身のサイズを足し合わせる
サイズもしっかり管理しないとね!
ファイルサイズを管理して、よりよい環境を作りましょう!