python复制指定文件夹下指定格式的文件(保留文件夹目录)

import os
import shutil

# 要复制的目录
file_path = r'E:/@_projects/EMIS.WEB/src'
# 指定目标目录
new_path = r'D:/download/png'
# 文件格式
format_name = '.png'


# 判断文件夹是否存在,不存在创建
def create_folder(folder_name):
    folder_name = folder_name.replace('\\', '/')
    folder_name = folder_name.replace(file_path, new_path)
    if os.path.exists(folder_name):
        return
    folder_list = folder_name.split('/')
    index = 2
    for item in folder_list:
        path = '/'.join(folder_list[0:index])
        if not os.path.exists(path):
            print('不存在目录:' + path + ',对其进行创建')
            os.mkdir(path)
        index += 1


# 复制文件夹下指定文件格式的文件(保留文件夹格式)
def copy_file():
    for root, dirs, files in os.walk(file_path):
        for file_name in files:
            if file_name.endswith(format_name):
                create_folder(root)
                new_file_path = root.replace('\\', '/').replace(file_path, new_path)
                shutil.copyfile(os.path.join(root, file_name), os.path.join(new_file_path, file_name))
                print(file_name + '复制成功')


if __name__ == '__main__':
    copy_file()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值