用python在sports同级目录下创建train,val目录。注意:sports,train,val三个目录是同一级。 编写程序将sports目录下的10000个文件,随机挑选7000个拷贝到train目录,另外的3000拷贝到val目录。注意是拷贝,不是移动(move)
时间: 2024-03-21 14:40:04 浏览: 72
可以使用Python的os和shutil模块来完成这个任务。具体实现如下:
```python
import os
import random
import shutil
# 设置路径
sports_dir = './sports'
train_dir = './train'
val_dir = './val'
# 创建train和val目录
os.makedirs(train_dir, exist_ok=True)
os.makedirs(val_dir, exist_ok=True)
# 获取所有文件名
files = os.listdir(sports_dir)
# 随机打乱文件顺序
random.shuffle(files)
# 拷贝前7000个文件到train目录
for file in files[:7000]:
src_path = os.path.join(sports_dir, file)
dst_path = os.path.join(train_dir, file)
shutil.copy(src_path, dst_path)
# 拷贝后3000个文件到val目录
for file in files[7000:]:
src_path = os.path.join(sports_dir, file)
dst_path = os.path.join(val_dir, file)
shutil.copy(src_path, dst_path)
```
上面的代码首先创建了train和val目录,然后获取了sports目录下的所有文件名,并随机打乱了文件顺序。接下来使用循环将前7000个文件拷贝到train目录,后3000个文件拷贝到val目录。注意使用了shutil模块的copy函数来实现拷贝操作。
阅读全文