使用Python获取并分割文件夹下所有文件

本文将介绍如何使用Python获取指定文件夹下的所有文件,统计文件数量,并按照8:1:1的比例将文件名随机打乱后分别存储到三个变量中。

import os
import random

# 设置目标文件夹路径
folder_path = '/path/to/your/folder'

# 获取文件夹下的所有文件名
files = os.listdir(folder_path)

# 统计文件数量
file_count = len(files)
print(f'文件数量:{file_count}')

# 打乱文件顺序
random.shuffle(files)

# 计算分割索引
train_end = int(file_count * 0.8)
val_end = int(file_count * 0.9)

# 分割文件列表
train_files = files[:train_end]
val_files = files[train_end:val_end]
test_files = files[val_end:]

# 打印分割后的文件数量
print(f'训练文件数量:{len(train_files)}')
print(f'验证文件数量:{len(val_files)}')
print(f'测试文件数量:{len(test_files)}')

# 将文件名存储到变量中
train_file_names = train_files
val_file_names = val_files
test_file_names = test_files

# 打印文件名 (可选)
# print('训练文件名:', train_file_names)
# print('验证文件名:', val_file_names)
# print('测试文件名:', test_file_names)

代码说明:

  1. 导入模块: 导入os模块用于操作文件和文件夹,导入random模块用于打乱文件顺序。
  2. 设置路径:folder_path替换为你的目标文件夹路径。
  3. 获取文件名: 使用os.listdir()获取文件夹下所有文件名,存储在files列表中。
  4. 统计数量: 使用len(files)统计文件数量并打印。
  5. 随机打乱: 使用random.shuffle(files)将文件名随机打乱。
  6. 计算索引: 根据8:1:1比例计算分割索引。
  7. 分割列表: 使用切片操作将文件列表分割成训练集、验证集和测试集。
  8. 存储文件名: 将分割后的文件名列表存储到对应变量中。

注意:

  • /path/to/your/folder替换为你的实际文件夹路径。
  • 这段代码仅分割文件名,你需要根据实际需求读取文件内容。
  • 可以根据需要调整比例,修改分割索引的计算方式。
Python获取文件夹下所有文件并按比例分割

原文地址: https://www.cveoy.top/t/topic/fAML 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录