背景介绍
本程序旨在实现对本地目录下文件大小的统计功能。通过使用Python的文件操作模块,程序能够读取指定目录的文件信息,统计每个文件的大小,并输出统计结果。程序运行在本地环境中,无需依赖任何外部服务,数据存储至本地文件,便于后续的分析或维护。
思路分析
- 目录遍历:使用
os.listdir()或os.listdir(path)读取目录内容,过滤出文件并排除目录。 - 文件大小计算:通过
os.path.getsize(file_path)获取文件大小,使用字节类型避免浮点数精度问题。 - 排序策略:采用Python的
sorted()函数按大小降序排列,支持reverse=True参数实现降序排序。 - 数据存储:将统计结果保存至本地文件
data/statistics.txt,确保可读性。
代码实现
import os
import statistics
# 设置统计目录
directory = "/home/user/documents/"
# 读取并统计文件大小
result = {}
for file_path in os.listdir(directory):
file_path = os.path.join(directory, file_path)
if os.path.isfile(file_path):
file_size = os.path.getsize(file_path)
result[file_path] = file_size
# 计算统计数据
total_size = sum(file_size for file_size in result.values())
file_count = len(result)
# 排序并输出结果
sorted_files = sorted(result.items(), key=lambda x: x[1], reverse=True)
# 保存统计结果
with open("data/statistics.txt", "w") as f:
f.write(f"文件数量:{file_count}\n")
f.write(f"文件大小总和:{total_size}\n")
f.write("排序结果:\n")
for (file_path, file_size) in sorted_files:
f.write(f"{file_path}: {file_size}\n")
print("程序已成功运行并保存统计结果。")
总结
本程序实现了对本地目录下文件大小的统计功能,通过Python的文件读写模块实现了核心逻辑。程序运行在本地环境中,无需依赖任何外部服务,数据存储至本地文件方便后续分析。实现过程涉及文件遍历、大小计算和排序处理,展示了Python编程基础的能力。该代码在1-3天内可运行,并可保存结果至本地文件,便于后续维护和分析。