Python を使用したディレクトリ サイズの計算
Python でのディレクトリのサイズの計算は、ストレージ領域の管理やデータの分析に役立つタスクです。このサイズを効率的に計算する方法を見てみましょう。
os.walk を使用したファイル サイズの合計
1 つの方法では、ディレクトリとそのサブディレクトリを走査して、ファイル サイズを合計します。これは、os.walk 関数を使用して実装できます。
<code class="python">import os def get_size(start_path='.'): total_size = 0 for dirpath, dirnames, filenames in os.walk(start_path): for f in filenames: fp = os.path.join(dirpath, f) if not os.path.islink(fp): total_size += os.path.getsize(fp) return total_size print(get_size(), 'bytes')</code>
この関数はディレクトリ サイズを再帰的に計算し、合計サイズをバイト単位で提供します。
os を使用したワンライナー。 listdir
サブディレクトリを考慮せずにディレクトリ サイズを簡単に計算するには、次のワンライナーを使用できます。
<code class="python">import os sum(os.path.getsize(f) for f in os.listdir('.') if os.path.isfile(f))</code>
この式では、os.listdir を使用して、次のすべてのファイルをリストします。現在のディレクトリと os.path.getsize を使用してサイズを決定します。
os.stat と os.scandir を使用する
あるいは、os.stat またはファイルサイズを計算するための os.scandir。 os.stat は、サイズなどの追加のファイル情報を提供します。
<code class="python">import os nbytes = sum(d.stat().st_size for d in os.scandir('.') if d.is_file())</code>
os.scandir は、Python 3.5 のパフォーマンスを向上させ、ディレクトリを反復処理するより効率的な方法を提供します。
Pathlibソリューション
Python 3.4 を使用している場合、pathlib ライブラリはディレクトリ操作を処理する便利な方法を提供します。
<code class="python">from pathlib import Path root_directory = Path('.') sum(f.stat().st_size for f in root_directory.glob('**/*') if f.is_file())</code>
この pathlib ソリューションは、簡潔かつ簡潔にするために以前のアプローチを組み合わせています。効率的な計算。
以上がPython でディレクトリ サイズを計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。