使用 Python 計算目錄大小:推出全面的解決方案
估計目錄的大小是程式設計中常見的任務。 Python 以其強大的標準函式庫提供了多種方法來解決這個問題。
一種方法是使用 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中文網其他相關文章!