python从当前文件夹中,遍历每个文件夹找到包括find_key的文件夹,剪切到dst_dir路径中

 

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)

 

posted @ 2022-11-01 16:40  胖白白  阅读(54)  评论(0编辑  收藏  举报