使用Python复制某文件夹下子文件夹名为"数据"文件夹下的所有以"DD"开头的文件夹到桌面

Python进阶者
• 阅读 446

大家好,我是皮皮。

一、前言

前几天在Python最强王者群【魏哥】问了一个Python自动化办公处理的问题,这里拿出来给大家分享下。

使用Python复制某文件夹下子文件夹名为

二、实现过程

这里他自己有一个原始代码,但是实现的效果不尽人意。

import shutil
import os

# import sys  # 导入sys模块
# sys.setrecursionlimit(1000)  # 将默认的递归深度修改为3000

def copy_file(path):
    # (root,dirs,files)分别为:遍历的文件夹,遍历的文件夹下的所有文件夹,遍历的文件夹下的所有文件
    for root, dirs, files in os.walk(path):
        for dir in dirs:
            if "数据" in dir:
                if "DD" in dir:  # 多了一层限定条件
                    shutil.copyfile(root + '\\' + dir, target_path + '\\' + dir)
                #     shutil.copytree(root + '\\' + dir, target_path + '\\' + dir)
                    print(root + '\\' + dir + ' 复制成功-> ' + target_path)
        for dir_in in dirs:
        # for dir_in in root:
            copy_file(dir_in)

if __name__ == '__main__':
    # 文件夹路径
    source_path = r'D:\供应链\订单&需求单\前传小站'
    # 输出路径
    target_path = r'C:\Users\pdcfi\Desktop\res'
    copy_file(source_path)

后来【eric】给了一个思路,如果一次性实现不行的话,那就分两次进行,拆分开来。思路是:第一次提取所有包含“数据”打头的文件夹,第二次,再针对获取到的“数据”的文件夹,再做一次代码处理,增加“DD”文件夹的筛选条件即可。

代码分别如下所示:第一次提取:

def copy_file(path):
    num = 1
    # (root,dirs,files)分别为:遍历的文件夹,遍历的文件夹下的所有文件夹,遍历的文件夹下的所有文件
    for root, dirs, files in os.walk(path):
        for dir in dirs:
            if "数据" in dir:
                shutil.copytree(root + '\\' + dir, target_path + '\\' + f"{dir}{num}")
            #     shutil.copytree(root + '\\' + dir, target_path + '\\' + dir)
                print(root + '\\' + dir + ' 复制成功-> ' + target_path)
                num += 1
        # for dir_in in dirs:
        # # for dir_in in root:
        #     copy_file(dir_in)

if name == 'main':
# 文件夹路径
source_path = r'D:\供应链'
# 输出路径
target_path = r'C:\Users\Desktop\res'
copy_file(source_path)

第二次提取:

def copy_file(path):
    # num = 1
    # (root,dirs,files)分别为:遍历的文件夹,遍历的文件夹下的所有文件夹,遍历的文件夹下的所有文件
    for root, dirs, files in os.walk(path):
        for dir in dirs:
            if "DD" in dir:
                shutil.copytree(root + '\\' + dir, target_path + '\\' + f"{dir}")
            #     shutil.copytree(root + '\\' + dir, target_path + '\\' + dir)
                print(root + '\\' + dir + ' 复制成功-> ' + target_path)
                # num += 1
        # for dir_in in dirs:
        # # for dir_in in root:
        #     copy_file(dir_in)

if name == 'main':
# 文件夹路径
source_path = r'C:\Users\Desktop\res'
# 输出路径
target_path = r'C:\Users\Desktop\DD'
copy_file(source_path)

顺利的解决了粉丝的问题:

使用Python复制某文件夹下子文件夹名为

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【魏哥】提问,感谢【eric】、【瑜亮老师】给出的思路和代码解析,感谢【冫马讠成】、【冷喵】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
2年前
编写一个闭包函数,要实现的功能是计数功能
大家好,我是皮皮。一、前言前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个Python装饰器的问题,这里拿出来给大家分享下,一起学习下。二、解决过程这里【东哥】给出了解答,其实这个题目就是在考你装饰器的内容。代码如下:count0defwrapper(func):definner(args,kwargs):g
Python进阶者 Python进阶者
1年前
大佬们,这个导包怎么写呀?本地执行可以,Linux执行报错
大家好,我是皮皮。一、前言前几天在Python最强白银交流群【喜靓仔】问了一个Python路径处理的问题,这里拿出来给大家分享下。下图是他的代码:二、实现过程这里【小王子】给了一个答案,如下所示:代码如下:fromsysimportpathpath.ins
Python进阶者 Python进阶者
1年前
盘点一个VScode中Python解释器选择的问题
大家好,我是皮皮。一、前言前几天在Python最强王者群【PythonPie】问了一个Python解释器的问题,这里拿出来给大家分享下。二、实现过程这里【Ineverleft】问了【ChatGPT】,并给出了答案,如下所示:这可能是由于Conda环境未正确
Python进阶者 Python进阶者
1年前
盘点一个Python网络爬虫问题
大家好,我是皮皮。一、前言前几天在Python最强王者群【刘桓鸣】问了一个Python网络爬虫的问题,这里拿出来给大家分享下。他自己的代码如下:importrequestskeyinput("请输入关键字")resrequests.post(url"htt
Python进阶者 Python进阶者
1年前
盘点一个Python导包的问题
大家好,我是皮皮。一、前言前几天在Python白银群【王者级混子】问了一个Python导包的问题,这里拿出来给大家分享下。有大佬知道为什么用.ipynb导入其他文件夹内它会说没有这个文件,但用.py导入却可以正常运行呢?他的代码截图如下:二、实现过程这里【
Python进阶者 Python进阶者
1年前
盘点一个Python自动化办公的问题——批量实现文件重命名(方法一)
大家好,我是皮皮。一、前言前几天在Python最强王者群【维哥】问了一个Python自动化办公处理的问题,一起来看看吧。大佬们,请教一个Python自动化办公的问题,我有一个名为data的文件夹,下面有这4个Excel文件。然后还有一个原始数据.xlsx表
Python进阶者 Python进阶者
1年前
盘点一个Python自动化办公的问题——批量实现文件重命名(方法二)
大家好,我是皮皮。一、前言前几天在Python最强王者群【维哥】问了一个Python自动化办公处理的问题,一起来看看吧。大佬们,请教一个Python自动化办公的问题,我有一个名为data的文件夹,下面有这4个Excel文件。然后还有一个原始数据.xlsx表
Python进阶者 Python进阶者
1年前
盘点一个Python自动化办公的实战问题
大家好,我是皮皮。一、前言前几天在Python最强王者群【wen】问了一个Python自动化办公的问题,一起来看看吧。他的原始表格如下所示:他预期得到的表格如下所示:二、实现过程这里他自己给了一个实现代码如下所示:pythondfpd.readexcel(
Python进阶者 Python进阶者
1年前
Python判断多个文件夹的文件夹名是否包含“分公司”或“营销中心”怎么处理?(方法一)
大家好,我是皮皮。一、前言前几天在Python最强王者群【哎呦喂是豆子~】问了一个Python自动化办公的问题,一起来看看吧。大佬们请问下判断多个文件夹的文件夹名是否包含“分公司”或“营销中心”有没有什么简便的办法可以实现呀?二、实现过程这里粉丝自己其实已
Python进阶者 Python进阶者
1年前
Python判断多个文件夹的文件夹名是否包含“分公司”或“营销中心”怎么处理?(方法二)
大家好,我是皮皮。一、前言前几天在Python最强王者群【哎呦喂是豆子~】问了一个Python自动化办公的问题,一起来看看吧。大佬们请问下判断多个文件夹的文件夹名是否包含“分公司”或“营销中心”有没有什么简便的办法可以实现呀?二、实现过程这里【东哥】给了两