如何进入文件夹中的子文件夹并读取.png文件名字符串最后一个字符作为它的类别,并统计出每个类别的样本数量,然后进行样本数量平均化
时间: 2024-03-03 16:51:35 浏览: 91
你可以使用Python中的os和glob模块来实现这个任务。下面是一份可以实现你所要求的任务的代码,你可以参考一下:
``` python
import os
import glob
# 设置文件夹路径
folder_path = '/path/to/folder'
# 获取所有子文件夹
subfolders = [f.path for f in os.scandir(folder_path) if f.is_dir()]
# 统计每个类别的样本数
class_count = {}
for subfolder in subfolders:
# 获取所有.png文件的路径
png_files = glob.glob(os.path.join(subfolder, '*.png'))
for file_path in png_files:
# 获取文件名并获取最后一个字符作为类别
file_name = os.path.basename(file_path)
class_name = file_name[-5]
# 统计样本数
if class_name in class_count:
class_count[class_name] += 1
else:
class_count[class_name] = 1
# 计算样本数平均值
total_count = sum(class_count.values())
average_count = int(total_count / len(class_count))
# 输出结果
print('Class count:', class_count)
print('Average count:', average_count)
```
这份代码首先获取文件夹中的所有子文件夹,然后遍历每个子文件夹中所有的.png文件,获取文件名并获取最后一个字符作为类别,根据类别统计样本数。最后,计算样本数的平均值并输出结果。
阅读全文