Python统计文件夹中特定类型文件数量的挑战

        用代码读取文件时,有时需要统计某文件夹下所有文件的数目,并读取指定数目的文件!我们通常使用python的os模块完成统计工作,具体方法如下:

1.统计某文件夹下的文件夹和文件的总个数(不包含文件夹的子文件夹和子文件)

可通过endswith函数筛选出指定类型的文件数目

    import os
    filePath = os.getcwd() # 获得当前文件夹的路径
    num = 1
    FileNum = 0
    csvFileNum = 0
    # os.listdir(filePath)会读取出当前文件夹下的文件夹和文件
    for file in os.listdir(filePath): 
        FileNum += 1 # 统计当前文件夹下的文件夹(不包含子文件夹)和文件的总数
        # 通过endswith(".csv")筛选出csv文件,筛选其它类型的文件,改变后缀名即可
        if file.endswith(".csv"):  
            csvFileNum += 1 # 统计当前文件夹下csv类型文件的总数
    print(f'-------文件夹下的文件夹和文件总数为:{FileNum}个--------')
    # 可用len(os.listdir(filePath))直接统计总数
    print(f'-------文件夹下的文件夹和文件总数为:{len(os.listdir(filePath))}个---------')
    print(f'-------文件夹下的csv文件总数为:{csvFileNum}个---------')

2.统计某文件夹下的文件夹和文件的总个数(包含文件夹的子文件夹和子文件)

        统计文件夹下的子文件夹数量: dir_count,不仅会统计一级子文件夹,还会统计二级、三级子文件夹依次类推,一级子文件夹若有一个子文件夹,会记作两个。 

        统计文件夹下的文件数量: file_count,不仅会统计文件夹下的文件,还会统计子文件夹下的文件

        例如: 统计root文件夹下的文件夹个数, 目录结构为/root/dir1/sub_dir1/*.txt时,会记作dir1 和sub_dir1共2个文件夹。以此类推,若目录结构为/root/dir1/sub_dir1/sub_sub_dir1/*.txt时,会记作dir1 、sub_dir1和sub_sub_dir1共3个文件夹。

import os
filePath = os.getcwd()    #获得当前文件夹的路径
dir_count = 0
file_count = 0
for root,dirs,files in os.walk(filePath):    #遍历统计
    for dir in dirs:
        dir_count += 1 # 统计文件夹下的文件夹总个数
    for _ in files:
        file_count += 1   # 统计文件夹下的文件总个数
print ('dir_count ', dir_count) # 输出结果
print ('file_count ', file_count)              

物联沃分享整理
物联沃-IOTWORD物联网 » Python统计文件夹中特定类型文件数量的挑战

发表评论