用python写一段代码,将主文件夹下面的子文件夹中的图片转移到主文件夹下,并删除空的子文件夹,子文件夹的名字和子文件夹中图片的名字相同
时间: 2024-09-19 10:02:19 浏览: 36
你可以使用 Python 的 `os`, `shutil`, 和 `glob` 模块来完成这个任务。下面是一段示例代码:
```python
import os
import shutil
import glob
def move_and_clean_empty_folders(root_dir):
# 遍历主目录及其所有子目录
for folder_name in os.listdir(root_dir):
src_folder = os.path.join(root_dir, folder_name)
# 只处理真正的文件夹,跳过链接或其他非目录对象
if os.path.isdir(src_folder):
# 查找子文件夹中的图片文件(假设图片是 .jpg 格式)
image_files = [f for f in glob.glob(os.path.join(src_folder, "*.jpg"))]
# 如果子文件夹中有图片,则移动图片到主文件夹,同时保留图片名字
if image_files:
dst_folder = os.path.join(root_dir, folder_name)
for img in image_files:
shutil.move(img, dst_folder)
# 删除空的子文件夹
else:
print(f'Deleting empty folder: {src_folder}')
os.rmdir(src_folder)
# 使用函数,传入主文件夹的路径
main_dir = 'your_main_directory'
move_and_clean_empty_folders(main_dir)
```
这段代码首先遍历指定的根目录,然后对每个子目录检查是否有图片文件。如果有,它将图片移动到主目录,保留子文件夹的名字;如果没有图片且子文件夹为空,就删除它。
注意替换 `'your_main_directory'` 为你实际的主文件夹路径。
阅读全文