Python文件夹与文件逐级移动

import os
import shutil

def move_items(src_path, dest_path):
    # 列出源路径下的所有项
    items = os.listdir(src_path)
    for item_name in items:
        src_item = os.path.join(src_path, item_name)
        # 构造目标路径
        dest_item = os.path.join(dest_path, item_name)
        # 检查项目类型(文件夹或文件)
        if os.path.isdir(src_item):
            # 如果目标位置已存在同名文件夹,递归调用
            if os.path.exists(dest_item):
                move_items(src_item, dest_item)
            else:
                # 否则,创建目标文件夹并递归移动内容
                os.makedirs(dest_item)
                move_items(src_item, dest_item)
        else:
            # 如果是文件,直接移动
            if not os.path.exists(dest_item) or os.path.isfile(dest_item):
                shutil.move(src_item, dest_item)
            else:
                print(f"Cannot move {src_item} because {dest_item} is not a file or already exists with a different type.")

# 源文件夹路径
path = "/path/to/you/source/"
# 目标文件夹路径
dest_path = "/path/to/you/target"
move_items(path, dest_path)
posted @ 2024-07-22 17:05  小犟  阅读(29)  评论(0)    收藏  举报