分享

使用Python批量实现文件夹及其子文件夹下指定文件的复制

 Python进阶者 2023-02-10 发布于广东

但愿人长久,千里共婵娟。

大家好,我是Python进阶者。

一、前言

前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。

二、需求澄清

粉丝的问题来源于实际的需求,她现在想要复制一个文件夹下机器子文件夹下的指定文件,如果是正常操作的话,肯定是挨个点击进去文件夹和子文件夹,然后找到对应文件,然后复制粘贴出来到指定的文件夹。这样做肯定是可以,但是当有上百个文件夹需要复制呢?肯定就需要消耗大量的时间和精力了。

现在她想使用Python批量实现文件夹及其子文件夹下指定文件的复制。比方说她想要这个文件夹下及其子文件下所有带【需求单】的文件。

三、实现过程

这里给大家提供一个可行的代码,思路也很简单,直接遍历文件夹和子文件夹,然后加文件判断,之后符合条件的,直接使用shutil库进行复制即可,代码如下:

import shutil
import os


def copy_file(path):
    # (root,dirs,files)分别为:遍历的文件夹,遍历的文件夹下的所有文件夹,遍历的文件夹下的所有文件
    for root, dirs, files in os.walk(path):
        for file in files:
            if "需求单" in file:
                shutil.copyfile(root + '\\' + file, target_path + '\\' + file)
                print(root + '\\' + file + ' 复制成功-> ' + target_path)
        for dir_in in dirs:
            copy_file(dir_in)


if __name__ == '__main__':
    # 文件夹路径
    source_path = r'C:\Users\pdcfi\Desktop\test\需求单'
    # 输出路径
    target_path = r'C:\Users\pdcfi\Desktop\test\res'
    copy_file(source_path)

代码运行之后,就可以把某一文件夹下及其子文件夹下的指定文件全部复制出来,再也不用挨个去手动复制了,使用Python事半功倍!

三、总结

大家好,我是皮皮。这篇文章主要盘点一个Python自动化办公的实用案例,这个案例可以适用于实际工作中文件处理,大家也可以稍微改进下,用于自己的实际工作中去,举一反三。

------------------- End -------------------

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多