ホームページ > バックエンド開発 > Python チュートリアル > Python でディレクトリ サイズを計算するにはどうすればよいですか?

Python でディレクトリ サイズを計算するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-04 03:46:01
オリジナル
465 人が閲覧しました

How to Calculate Directory Size in Python?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート