Python批量复制文件夹(以及所有子文件夹)下的某类型文件

362 阅读1分钟

Python批量复制文件夹(以及所有子文件夹)下的某类型文件

因实验需求,以png文件格式作为参考
代码如下

import shutil
import os


def b_li(path):
    global num
    # (root,dirs,files)分别为:遍历的文件夹,遍历的文件夹下的所有文件夹,遍历的文件夹下的所有文件
    for root, dirs, files in os.walk(path):
        for file in files:
            # 文件后缀检测
            if file[-len(f_type):] == f_type:
                shutil.copyfile(root + '\\' + file, out_path + '\\%d.%s' % (num, f_type))
                print(root + '\\' + file + ' 复制成功-> ' + out_path + '\\%d.%s' % (num, f_type))
                num += 1
        for dir_in in dirs:
            b_li(dir_in)


if __name__ == '__main__':
    # 文件夹路径
    f_path = r'C:\Users\dell\桌面\021'
    # 输出路径
    out_path = r'C:\Users\dell\桌面\train\021'
    # 文件类型后缀
    f_type = 'png'
    num = 1
    b_li(f_path)