用python复制文件夹

这篇博客介绍了如何使用Python进行文件夹复制。主要内容包括根据文件夹名称复制和复制并重命名两个部分。首先,从包含编号的文件中读取需要复制的文件夹信息,然后遍历目标文件夹,通过编号匹配并复制。在复制并重命名的步骤中,代码逻辑与复制类似,但会为复制的文件夹提供新的名称。
摘要由CSDN通过智能技术生成

用python复制文件

1. 根据文件夹的名称复制

需要复制的文件夹编号文件中,每一行表示一个编号,如下所示:

> cat id.txt
  1
  2
  3
  ...
>

目标文件的目录结构树如下所示:

  • Normal_data
    • T1Img
      • 23XIAOHEI
      • 432XIAOMING
    • T1ImgSegment
      • 23XIAOHEI
      • 432XIAOMING
    • T1ImgSegmentS
      • 23XIAOHEI
      • 432XIAOMING
    • T1Raw
      • 23XIAOHEI
      • 432XIAOMING

主要流程就是先从文件中读到要复制的文件的编号,然后遍历目标文件夹,从文件夹名称中切分出编号,然后进行复制操作。完整的代码如下:

# -*- coding: utf-8 -*-
# @Time    : 2018/6/6 20:33
# @Author  : sangf
# @desc    : copy the t1 image by id
#            if you want to know which id is not found, you should input the command 'python3 copyT1ById.py >> not_found.txt' in shell.
#            And you will find the new file named 'not_found.txt' in which there are maybe some ids or not.
#            If it is empty, all image have been found; and if not, those is not be found.
#            Good luck!
import os
import shutil
import re

# must set those value
SRC_PATH = r'/home/admin/MRI_DATA/T1/Normal_data'
DST_PATH = r'/home/admin/Desktop/xxx'
ID_FILE_PATH = r'/home/admin/MRI_DATA/T1/xxx.txt'
TYPE = r'T1Raw'


def cutIdInFloderName(floderName):
    '''
    ' cut out the id in floderName.
    ' Don't change this function.
    '''
    idIndex = floderName.index(re.search(r'[A-Za-z]', floderName).group())
    id = floderName[0:idIndex]
    return id

def 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值