Pythonによるディレクトリサイズの計算方法について詳しく解説します。この記事では、ディレクトリのサイズを計算するためのPythonコードを紹介し、そのコードの詳細な解説を行います。さらに、この基本的なコードを応用した3つ以上の具体例もご紹介します。
目次
はじめに
ディレクトリのサイズを計算することは、ディスク容量の管理やデータの整理において重要な作業です。Pythonを使えば、このような作業を効率的に、かつプログラム的に実行できます。
基本的なコード
まずは、ディレクトリのサイズを計算する基本的なPythonコードを見てみましょう。
import os
def get_directory_size(directory):
total = 0
# ディレクトリ内の各ファイルについて処理
for dirpath, dirnames, filenames in os.walk(directory):
for f in filenames:
fp = os.path.join(dirpath, f)
# ファイルサイズを加算
total += os.path.getsize(fp)
return total
コードの解説
このコードでは`os.walk()`関数を使ってディレクトリ内のすべてのファイルとサブディレクトリを走査しています。`os.path.getsize()`関数を使って各ファイルのサイズを取得し、それを`total`に加算しています。
応用例
基本的なコードを応用したいくつかの例を紹介します。
応用例1: ディレクトリごとのサイズを表示
import os
def get_size_per_directory(directory):
sizes = {}
for dirpath, dirnames, filenames in os.walk(directory):
total = 0
for f in filenames:
fp = os.path.join(dirpath, f)
total += os.path.getsize(fp)
sizes[dirpath] = total
return sizes
応用例2: サイズが一定以上のファイルを特定
import os
def find_large_files(directory, size_limit):
large_files = []
for dirpath, dirnames, filenames in os.walk(directory):
for f in filenames:
fp = os.path.join(dirpath, f)
if os.path.getsize(fp) >= size_limit:
large_files.append(fp)
return large_files
応用例3: ファイルタイプごとのサイズ計算
import os
def size_by_file_type(directory):
extension_sizes = {}
for dirpath, dirnames, filenames in os.walk(directory):
for f in filenames:
fp = os.path.join(dirpath, f)
ext = os.path.splitext(f)[1]
size = os.path.getsize(fp)
extension_sizes.setdefault(ext, 0)
extension_sizes[ext] += size
return extension_sizes
まとめ
この記事では、Pythonでディレクトリのサイズを計算する方法を詳しく解説しました。基本的なコードから、より応用的な使用例までを紹介しました。これを機に、Pythonを使って効率的なディスク管理を行ってみてはいかがでしょうか。
コメント