""" 文件大小 统计当前目录下每个文件的大小, 如果遇到文件夹,则进入文件夹继续统计。 """ import os def __statistics(cur_dir, result): """ 遍历指定目录及其子目录,统计每个文件的大小。 :param cur_dir: 当前正在处理的目录 :param result: 一个字典,用于存储文件名及其大小 :return: 无 """ # 列出当前目录下的所有文件和目录 files = os.listdir(cur_dir) # 遍历每个文件或目录 for file in files: # 构建完整文件路径 file_path = os.path.join(cur_dir, file) # 判断当前项是否为目录 if os.path.isdir(file_path): # 是目录,则递归处理该目录 # 递归处理子目录 sub_dir = os.path.join(cur_dir, file) __statistics(sub_dir, result) else: # 是文件,则统计文件大小并添加到结果中 # 计算文件大小并存储到结果字典中 result[file] = os.path.getsize(file_path) # 返回统计结果 return result def statistics(begin): """ 主函数,用于启动文件大小统计。 :param begin: 统计的起始目录 :return: 无 """ # 初始化一个空字典,用于存储文件统计结果 result = {} # 更改当前工作目录到指定的开始目录 os.chdir(begin) # 获取当前工作目录的路径,作为开始目录的绝对路径 begin = os.getcwd() # 调用__statistics函数,对开始目录进行统计,结果存储在result字典中 r = __statistics(begin, result) # 遍历统计结果中的文件,按文件名排序 for file in sorted(r): # 输出每个文件的名称和大小 # 按文件名排序后,打印每个文件的大小 print(f'文件【{file}】的大小为{r[file]}bytes。') # 从当前目录的父目录开始统计文件大小 statistics('..')
文件大小:统计当前目录下每个文件的大小
未经允许不得转载:创想未来 » 文件大小:统计当前目录下每个文件的大小
评论前必须登录!
注册