用代码读取文件时,有时需要统计某文件夹下所有文件的数目,并读取指定数目的文件!我们通常使用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)
文章出处登录后可见!
已经登录?立即刷新