python 统计文件夹下的文件夹/某类型文件的数目

Posted Happier,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)              

Linux统计某文件夹下文件的个数

ls -l |grep "^-"|wc -l

 

统计某文件夹下目录的个数  

ls -l |grep "^d"|wc -l

 

统计文件夹下文件的个数,包括子文件夹里的  

ls -lR|grep "^-"|wc -l

 

统计/imagedata/data/20161108目录(包含子目录)下的所有txt文件  

ls -lR /imagedata/data/20161108|grep txt|wc -l   或者  ls -lR "/imagedata/data/20161108"|grep "txt"|wc -l

-------------------------------------------------------------------

说明:

统计文件夹下目录的个数,包括子文件夹里的

ls -lR|grep "^d"|wc -l

 

ls -lR
长列表输出该目录下文件信息(R代表子目录注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

 

grep "^-"
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

 

wc -l
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

---------------------------------------------------------------

如果只查看文件夹

ls -d  只能显示一个.

find -type d    可以看到子文件夹

ls -lF |grep /    或 ls -l |grep ‘^d‘  只看当前目录下的文件夹,不包括往下的文件夹

以上是关于python 统计文件夹下的文件夹/某类型文件的数目的主要内容,如果未能解决你的问题,请参考以下文章

统计某文件夹下文件的个数

Linux统计某文件夹下文件文件夹的个数

Linux统计某文件夹下文件文件夹的个数

Linux统计某文件夹下文件的个数

Linux统计某文件夹下文件文件夹的个数

Linux统计某文件夹下文件文件夹的个数