Day 142ディレクトリの容量を集計する
Pythonコード
1import os2 3dir_path = input('ディレクトリのパスを入力してください:')4file_sizes = {}5 6try:7 for root, dirs, files in os.walk(dir_path):8 for file in files:9 file_path = os.path.join(root, file)10 file_size = os.path.getsize(file_path)11 file_sizes[file_path] = file_size12except FileNotFoundError:13 print('ディレクトリが見つかりません。')14 15sorted_file_sizes = sorted(file_sizes.items(), key=lambda x: x[1], reverse=True)16 17for file, size in sorted_file_sizes:18 print(f'{file}: {size} bytes')
解説
- 行1〜2: osモジュールをインポートします。osモジュールは、オペレーティングシステムの機能を利用するためのモジュールです。
- 行3: ディレクトリのパスを入力します。input()関数は、ユーザーから入力を受け取るための関数です。
- 行4: ファイルのサイズを格納するための辞書を初期化します。
- 行5〜10: os.walk()関数を使用して、ディレクトリ内のすべてのファイルを走査します。ファイルのパスとサイズを取得します。try-except文を使用して、ディレクトリが見つからない場合のエラーを処理します。
- 行11〜12: 辞書のアイテムをファイルのサイズでソートします。sorted()関数は、リストや辞書のアイテムをソートするための関数です。key引数にlambda関数を指定して、ソートの基準を指定します。
- 行13〜14: ソートされたファイルのサイズを出力します。print()関数は、文字列や変数の値を出力するための関数です。
次に試してみよう
- ディレクトリの容量を集計するプログラムを作成してみましょう。
- ファイルのサイズをKBやMBで表示してみましょう。
- ディレクトリの容量をグラフで表示してみましょう。