python 有一个文件夹里面有6个子文件夹,每个子文件夹有2400张图片,现在需要将每个子文件夹中最后480张图片剪切出来存为一个小文件夹,如何将新存的6个小文件夹存为一个大文件夹
时间: 2024-09-27 21:15:11 浏览: 31
python实现将两个文件夹合并至另一个文件夹(制作数据集)
要在Python中实现这个任务,可以使用os、shutil和PIL(Python Imaging Library)库。首先,确保安装了这些库,如果没有,可以使用pip安装:
```bash
pip install os shutil pillow
```
接下来是一个简单的脚本示例,它会遍历指定的顶层目录及其所有子目录,对每个子目录中的图片进行操作:
```python
import os
import shutil
# 定义源目录和目标大文件夹路径
src_dir = "源文件夹路径" # 比如 'path_to_your_parent_folder'
dst_parent_dir = "目标大文件夹路径" # 新的大文件夹将会创建在这里
if not os.path.exists(dst_parent_dir):
os.makedirs(dst_parent_dir) # 创建目标大文件夹
# 遍历源文件夹中的所有子文件夹
for subdir in os.listdir(src_dir):
src_subdir = os.path.join(src_dir, subdir)
if os.path.isdir(src_subdir): # 只处理子文件夹
last_480_files = [img for img in os.listdir(src_subdir) if img.endswith(('.jpg', '.png'))][-480:] # 获取最后480张图片
dst_subdir = os.path.join(dst_parent_dir, subdir) # 子文件夹的新路径
if not os.path.exists(dst_subdir):
os.makedirs(dst_subdir) # 如果新子文件夹不存在,创建它
# 将图片从原位置复制到新子文件夹
for file_name in last_480_files:
src_file_path = os.path.join(src_subdir, file_name)
dst_file_path = os.path.join(dst_subdir, file_name)
shutil.copy(src_file_path, dst_file_path)
阅读全文