使用 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中文网其他相关文章!