Python计算文件夹中文件类型和数量

目标:

统计文件夹目录下的文件类型及数量,包括子文件夹,并用函数的方式来实现。

思路:

●打开指定的文件夹

● 获取到当前文件夹下面所有的文件

● 进行判断,如果判断为文件夹,则递归,如果判断为文件,则统计类型和计数。

●汇总显示

实现代码如下:

import os

#文件夹中的文件计数函数
def file_count(local_path, type_dict):
    global all_file_num                 # 声明全局变量
    file_list = os.listdir(local_path)  # 列出本地文件夹第一层目录的所有文件和目录
    for file_name in file_list:
        if os.path.isdir(os.path.join(local_path, file_name)):  # 判断是文件还是目录,是目录为真
            type_dict.setdefault("文件夹", 0)      # 如果字典key不存在,则添加并设置为初始值
            type_dict["文件夹"] += 1
            p_local_path = os.path.join(local_path, file_name)  # 拼接本地第一层子目录,递归时进入下一层
            file_count(p_local_path, type_dict)
        else:
            ext = os.path.splitext(file_name)[1]  # 获取到文件的后缀
            type_dict.setdefault(ext, 0)          # 如果字典key不存在,则添加并设置为初始值
            type_dict[ext] += 1
            all_file_num += 1                     # 计算总文件数量
    return all_file_num


if __name__ == '__main__':
    local_path = 'c:\\log'          #文件夹的路径
    type_dict = dict()              # 定义一个保存文件类型及数量的空字典
    all_file_num = 0                #计算本地总文件数
    file_count = file_count(local_path, type_dict)   # 运行函数,power by luotao

    # 打印文件类型以及数量
    for each_type in type_dict:
        print(f"文件类型为【{each_type}】的数量有:{type_dict[each_type]} 个")
    print(f"总文件数量为:{file_count}")

运行结果如下:

文件类型为【.log】的数量有:4 个
文件类型为【文件夹】的数量有:4 个
文件类型为【.txt】的数量有:13 个
文件类型为【.doc】的数量有:1 个
总文件数量为:18

进程已结束,退出代码为 0

如需转载请标明出处,luotao 20211109

Guess you like

Origin blog.csdn.net/netlt/article/details/121226301