python将1000份文件按3:1:1随机打乱
时间: 2024-05-01 08:17:31 浏览: 72
可以使用Python中的random模块和os模块来实现。首先,使用os模块获取文件夹中所有的文件名,并将其存储在列表中。然后使用random模块中的shuffle函数对文件名列表进行随机打乱。最后,根据3:1:1比例将文件名列表分为3个子列表,并分别保存到不同的文件中。
以下是示例代码:
```python
import os
import random
# 获取文件夹中所有文件的文件名
file_folder = '/path/to/folder'
file_list = os.listdir(file_folder)
# 随机打乱文件名列表
random.shuffle(file_list)
# 计算划分比例
total_files = len(file_list)
train_split = int(total_files * 0.6) # 3:1:1中的3
val_split = int(total_files * 0.2) # 3:1:1中的1
# 划分文件名列表并保存到不同的文件中
train_list = file_list[:train_split]
val_list = file_list[train_split:train_split+val_split]
test_list = file_list[train_split+val_split:]
with open('train.txt', 'w') as f:
for file_name in train_list:
f.write(file_name + '\n')
with open('val.txt', 'w') as f:
for file_name in val_list:
f.write(file_name + '\n')
with open('test.txt', 'w') as f:
for file_name in test_list:
f.write(file_name + '\n')
```
阅读全文