从指定的多个多层文件夹中复制文件

该代码实现了一个Python脚本,用于遍历指定的多层文件夹,并将所有匹配特定文件名的文件复制到目标目录。脚本通过os和shutil库操作文件,对每个子目录下的文件进行检查并复制。主要应用于数据迁移或整理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从指定的多个多层文件夹中复制文件

import os.path
import shutil
def each_file(filepath, new_filepath):
    '''
    读取每个文件夹,将遇到的指定文件统统转移到指定目录中
    :param filepath: 想要获取的文件的目录
    :param new_filepath: 想要转移的指定目录
    :return:
    '''
    l_dir = os.listdir(filepath)  # 读取目录下的文件或文件夹
    Path='/MNINonLinear/Results/tfMRI_EMOTION_LR/'
    name = 'tfMRI_EMOTION_LR_Atlas_MSMAll.dtseries.nii'#我要复制的文件名字均相同,有多个,
    for one_dir in l_dir[:]:  # 进行循环
        num = os.listdir(filepath+one_dir)
        for one in num[:1]:
            print(one)
            #源文件地址
            path = os.path.join ('%s%s/%s%s%s' % (filepath,one_dir,one,Path,name))
            print(path)
            #print(full_path)
            #要生成的文件名称  one是为了我自己区分的,因为我每个nii格式的文件名称一样
            new_full_path = os.path.join('%s/%s_%s' % (new_filepath, one,name))
            print(new_full_path)
            try:
                shutil.copy(path, new_full_path)  # 这个是转移的语句,最关键的一句
            except WindowsError:
                pass

if __name__ == '__main__':
    old_path = r'H:/DATA/EMOTION/'
    new_path = r'H:/DATA/only_nii'
    each_file(old_path, new_path)

要复制的一个文件归属如下:
在这里插入图片描述
总的文件夹列表为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值