Python を使用してディレクトリ サイズを計算するにはどうすればよいですか?
Nov 02, 2024 pm 02:37 PMPython を使用したディレクトリ サイズの計算: 包括的なソリューションの公開
ディレクトリのサイズの推定は、プログラミングにおける一般的なタスクです。 Python は、堅牢な標準ライブラリを備えており、この問題に対処するためのさまざまなアプローチを提供しています。
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.stat() がファイルとディレクトリの両方の統計を提供します。 st_size 属性はファイル サイズをバイト単位で示します。
<code class="python">import os nbytes = sum(d.stat().st_size for d in os.scandir('.') if d.is_file())</code>
ログイン後にコピー
Python の最新バージョンには pathlib モジュールが含まれています。そのソリューションは、os と os.path の両方の機能を組み合わせています:
<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>
ログイン後にコピー
これらの手法は、Python のディレクトリ サイズを効率的に定量化します。 os.walk、os.listdir、os.stat、または pathlib のいずれを選択するかに関係なく、プログラマは要件に基づいて最適な方法を選択できます。
以上がPython を使用してディレクトリ サイズを計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7126
9


Java チュートリアル
1534
14


Laravel チュートリアル
1256
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1153
46

