首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]掌握Python轻松获取文件夹内所有子文件夹大小秘籍

发布于 2025-06-28 00:30:45
0
570

引言在处理文件和文件夹时,了解文件夹内所有子文件夹的大小是非常重要的。这可以帮助我们优化存储空间,分析文件结构,或者在数据备份和恢复过程中进行资源分配。Python 提供了多种方法来帮助我们轻松获取文...

引言

在处理文件和文件夹时,了解文件夹内所有子文件夹的大小是非常重要的。这可以帮助我们优化存储空间,分析文件结构,或者在数据备份和恢复过程中进行资源分配。Python 提供了多种方法来帮助我们轻松获取文件夹内所有子文件夹的大小。本文将介绍几种常用的方法,并详细说明如何实现。

方法一:使用osos.path模块

Python 的标准库中包含了一个名为 os 的模块,它提供了与操作系统交互的功能。我们可以使用 os.path.getsize() 函数来获取单个文件的大小,结合 os.listdir()os.path.isdir() 函数,我们可以遍历一个文件夹并获取其所有子文件夹的大小。

代码示例

import os
def get_folder_size(folder_path): total_size = 0 for dirpath, dirnames, filenames in os.walk(folder_path): for f in filenames: fp = os.path.join(dirpath, f) total_size += os.path.getsize(fp) return total_size
# 使用示例
folder_path = '/path/to/your/folder'
size = get_folder_size(folder_path)
print(f"The total size of the folder is: {size} bytes")

方法二:使用pathlib模块

Python 3.4 引入了一个新的模块 pathlib,它提供了一个面向对象的文件系统路径操作接口。使用 pathlib,我们可以以更加简洁的方式获取文件夹大小。

代码示例

from pathlib import Path
def get_folder_size_with_pathlib(folder_path): return sum(p.stat().st_size for p in Path(folder_path).rglob('*'))
# 使用示例
folder_path = '/path/to/your/folder'
size = get_folder_size_with_pathlib(folder_path)
print(f"The total size of the folder is: {size} bytes")

方法三:使用shutil模块

shutil 模块提供了许多用于文件和文件夹操作的高层函数。我们可以使用 shutil.disk_usage() 函数来获取文件夹的总大小。

代码示例

import shutil
def get_folder_size_with_shutil(folder_path): total, used, free = shutil.disk_usage(folder_path) return total
# 使用示例
folder_path = '/path/to/your/folder'
size = get_folder_size_with_shutil(folder_path)
print(f"The total size of the folder is: {size} bytes")

总结

以上三种方法都可以帮助我们获取文件夹内所有子文件夹的大小。选择哪种方法取决于个人喜好和具体需求。ospathlib 提供了更加细粒度的控制,而 shutil 则提供了一个简洁的解决方案。无论哪种方法,都能够帮助我们有效地管理文件和文件夹。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流