快速从多个文件夹下的特定文件夹提取相同类型的文件

有时候需要把一个文件夹下的多个文件夹里面特定文件夹的文件汇总到一个文件夹,该方法可解决,编程新手,欢迎大佬提供建议,简化代码,感觉多次遍历能简化。

该方法是本人需要从笔记文件里面提取md文件而写的,适应面不广,第一次发博,欢迎大家批评指正。

import shutil
from os.path import join
from os import listdir

# path 就是我们要查找的文件的上两级目录
# new_dirs 就是我们最后要把文件保存的目录(必须先创建)
# target_dirs 就是文件所在文件夹的名称
path = input('输入绝对路径:(需移动文件的上!两!级目录)')
new_dirs = input('输入要保存至的新绝对路径:')
target_dirs = input('文件存储所在文件夹名:')
file_type = input('文件类型:')

def fast_copy(path,new_dirs,target_dirs,file_type):
    # 把目录下的文件名变为列表
    tool_dirs = listdir(path)
    # 再以小见大,遍历,从一个文件夹去思考操作
    for first_dirs in tool_dirs:
        print(first_dirs)
        # 定义进一步的路径
        path_deeper = path + '\\' +first_dirs
        # 将进一步目录下的文件名变为列表,然后遍历查找最终的目的文件夹
        deeper_dirs = listdir(path_deeper)
        for ojbk_dirs in deeper_dirs:
            # 找到最终文件夹,并且定义最终路径
            if ojbk_dirs == target_dirs:
                finally_dir = path_deeper + '\\' + target_dirs
                print(finally_dir)
                for file in listdir(finally_dir):
                    if file.endswith(file_type):
                        shutil.copy(finally_dir + '\\' + file, new_dirs + '\\' +  file)
            else:
                continue


if __name__ == '__main__':
    fast_copy(path,new_dirs,target_dirs,file_type)



“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论

打赏作者

BigSmart_cjr

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值