import os
import shutil

def move_dir(src_dir=None, dst_dir='new_dir', find_key='case_data_stub.json'):
    '''
    从当前文件夹中,遍历每个文件夹,
    找到包括find_key的文件夹,剪切到dst_dir路径中
    '''
    find_num = 0
    cur_path = os.getcwd()
    print("当前路径:", cur_path)
    dst_dir = os.path.join(cur_path, dst_dir)
    print("目的路径:", dst_dir)
    for dirpath, dirnames, filenames in os.walk(cur_path):
        for dirname in dirnames:
            full_path = os.path.join(dirpath, dirname)
            if os.path.isfile(full_path):
                continue
            # 到此,得到了完整的路径,full_path
            for file in os.listdir(full_path):
                if os.path.isfile(os.path.join(full_path, file)):
                    if file == find_key and dst_dir not in full_path:
                        find_num += 1  # 找到的个数+1
                        print("找到了find_key, full_path: ", full_path)
                        if os.path.exists(dst_dir):
                            # 如果文件夹已存在,先删除,再创建
                            print("文件夹已存在,先删除,再创建: ", dst_dir)
                            shutil.rmtree(dst_dir)
                            os.mkdir(dst_dir)
                        else:
                            print("文件夹不存在, 创建文件夹: ", dst_dir)
                            os.mkdir(dst_dir)
                        shutil.move(full_path, dst_dir)

    return find_num

if __name__ == '__main__':
    find_num = move_dir(dst_dir='new_dir')
    print("找到了多少个:", find_num)

 

原文地址:http://www.cnblogs.com/kongweisi/p/16848257.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性