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 @   小犟  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示