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

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

Nov 04, 2024 am 03:46 AM

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

Pythonでファイルをダウンロードする方法 Pythonでファイルをダウンロードする方法 Mar 01, 2025 am 10:03 AM

Pythonでファイルをダウンロードする方法

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

Pythonで独自のデータ構造を実装する方法 Pythonで独自のデータ構造を実装する方法 Mar 03, 2025 am 09:28 AM

Pythonで独自のデータ構造を実装する方法

See all articles