"""
文件个数
统计当前目录下每个文件类型的文件个数如果遇到文件夹,则进入文件夹继续统计,
文件夹的类型是dir。
如果文件无后缀名,则类型为other。
"""
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):
# 如果是目录,递归处理该目录
ext = 'dir'
result.setdefault(ext, 0)
result[ext] += 1
sub_dir = os.path.join(cur_dir, file)
__statistics(sub_dir, result)
else:
# 如果是文件,统计文件类型
ext = os.path.splitext(file)[1]
ext = ext if ext else 'other'
result.setdefault(ext, 0)
result[ext] += 1
return result
def statistics(begin):
"""
主函数,用于启动文件类型统计。
:param begin: 统计的起始目录路径
"""
result = {}
os.chdir(begin)
begin = os.getcwd()
r = __statistics(begin, result)
for file_type in r.keys():
print(f'类型:{file_type} 的文件个数是{r[file_type]}')
# 从当前目录开始统计文件类型和数量
statistics('./')
文件个数:统计当前目录下每个文件类型的文件个数
未经允许不得转载:创想未来 » 文件个数:统计当前目录下每个文件类型的文件个数

创想未来
评论前必须登录!
注册