0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么批量移动特定文件到指定文件夹

汽车电子技术 来源:Python数据分析之旅 作者:cauwfq 2023-02-24 16:30 次阅读

pYYBAGP4dOGABBISAAEHvHmoGlk321.png

一.项目背景

    在日常工作中,我们经常需要将文件归类,特别是对于一些资源党来说。我们存储的文件类型可能各种各样,需要根据特定文件类型进行文件归类。
    当文件数量较少时,我们可以在保存的时候对每个文件分别设置保存的路径。但是当有海量文件的时候,如果我们单独设置每个文件的保存路径,工作量
将会变得非常大,而且有时容易出错,这时我们利用Python办公自动化解决这个问题。

poYBAGP4dPaAI39dAAIA331QHT0791.png

二.项目实施

import os

#获取文件类型
def get_fileTypes(file_path):
    #存储文件类型
    file_types=[]
    #遍历当前目录文件
    for file in os.listdir(file_path):
        #添加文件类型
        file_types.append(os.path.splitext(file)[1][1:])
    #返回文件类型
    return list(filter(lambda x:len(x)>0,set(file_types)))

#获取文件类型
file_types=get_fileTypes('./0914')
#输出信息
file_types

pYYBAGP4dRaAGvbgAAAOdbOfd44338.png

#文件归类


def file_classification(dest_path,file_types):
     #读取文件路径,获取文件列表
    file_list = os.listdir(dest_path)

    #遍历文件类型
    for file_type in file_types:
        #判断文件夹是否存在,不存在则创建文件夹
        if os.path.exists(os.path.join(dest_path,file_type)+'文件') ==False:
            #创建文件夹
            os.mkdir(os.path.join(dest_path,file_type)+'文件')
        else:
            print(file_type+'文件夹已存在!')
    
     #遍历文件列表,识别文件类型并移动
    for file in file_list:
        #提取文件的后缀名,用于判断文件的类型
        file_type = os.path.splitext(file)[1][1:]
        #判断文件类型
        if file_type in file_types:
            #移动文件到对应的文件夹中
            os.rename(os.path.join(dest_path ,file), os.path.join(dest_path,file_type)+'文件'+'/'+file)
    #输出提示信息
    print('文件分类完成')

#获取文件类型
file_types=get_fileTypes('./0914')
#文件归类
file_classification('./0914',file_types)

pYYBAGP4dWSAPjTYAAAJ_ZNom2s613.png

三.运行结果

poYBAGP4dU-AH9GCAAByCixi0kE889.png
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 类型
    +关注

    关注

    0

    文章

    10

    浏览量

    10168
  • 文件
    +关注

    关注

    1

    文章

    570

    浏览量

    24811
收藏 人收藏

    评论

    相关推荐

    请问LABVIEW 如何批量删除文件夹的的文件

    本帖最后由 一只耳朵怪 于 2018-5-28 10:32 编辑 LABVIEW 如何批量删除文件夹的的文件我一个测试报告文件夹内有很多文件
    发表于 05-28 09:35

    定期删除指定文件夹的图片

    定期删除指定文件夹的图片
    发表于 10-12 09:41

    如何/怎样显示隐藏文件文件夹

    如何/怎样显示隐藏文件文件夹 首先打开我的电脑
    发表于 08-03 22:23 2003次阅读

    如何给共享文件夹加密

    如何给共享文件夹加密 对于windows XP用户:   1. 打开“我的电脑”->“工具”->“文件夹选项”->“查看”->去掉“使
    发表于 02-24 11:31 2341次阅读

    如何删除msn共享文件夹

    如何删除msn共享文件夹  Q:我的电脑中有个安装了MSN 8.0才有的无名文件夹。我想问问董师傅,这个文件夹到底有什么?如何删除?
    发表于 02-24 13:56 807次阅读

    C#教程之伪装文件夹

    C#教程之伪装文件夹,很好的C#资料,快来学习吧。
    发表于 04-20 15:19 7次下载

    Android系统文件夹结构解析

    Android系统文件夹结构解析
    发表于 03-19 11:23 0次下载

    ubuntu中隐藏/显示文件文件夹

    ubuntu 16.04 LTS - 隐藏/显示文件文件夹 1. GUI hot key Ctrl H: 隐藏/显示文件文件夹 2. Show hidden and backup
    发表于 11-25 12:52 5101次阅读

    Linux中如何判断文件夹是否存在并新建文件夹

    本文档的主要内容详细介绍的是Linux中如何判断文件夹是否存在并新建文件夹vi文件免费下载。
    发表于 01-17 08:00 8次下载
    Linux中如何判断<b class='flag-5'>文件夹</b>是否存在并新建<b class='flag-5'>文件夹</b>

    uboot的文件夹详细分析

    (3)board:开发板相关的文件夹,这个文件夹里面存放的一个文件夹对应一款开发板或者是一个芯片厂商。我们在config配置的时候就是根据这个文件夹下面的子
    发表于 09-05 17:27 4次下载
    uboot的<b class='flag-5'>文件夹</b>详细分析

    Unity中所有特殊的文件夹

    隐藏文件夹:以.开头的文件夹会被Unity忽略。在这种文件夹中的资源不会被导入,脚本不会被编译。也不会出现在Project视图中。
    的头像 发表于 02-12 16:10 2644次阅读

    笔记:Unity中所有特殊的文件夹

    隐藏文件夹:以.开头的文件夹会被Unity忽略。在这种文件夹中的资源不会被导入,脚本不会被编译。也不会出现在Project视图中。
    发表于 01-21 06:24 4次下载
    笔记:Unity中所有特殊的<b class='flag-5'>文件夹</b>

    keil添加文件夹目录结构(批量添加.c和.h文件工程中)(keil添加头文件路径)(适合小白入门)

    第一步打开创建文件夹选项:第二步:直接创建删除 或者上移下移 就好了3.添加文件夹的同时别忘记导入头文件
    发表于 11-21 14:36 61次下载
    keil添加<b class='flag-5'>文件夹</b>目录结构(<b class='flag-5'>批量</b>添加.c和.h<b class='flag-5'>文件</b><b class='flag-5'>到</b>工程中)(keil添加头<b class='flag-5'>文件</b>路径)(适合小白入门)

    如何在Linux的文件文件夹中搜索文本?

    如果您是开发人员、Web 程序员或处理许多文件的人,并且需要查找单个文本,今天可要好好看这篇文章了。 假设您有一个包含 30 个文件夹和 20,000 个文件的目录,这些文件夹
    的头像 发表于 05-12 16:19 1705次阅读

    【操作指引】铁威马NAS加密文件夹创建和使用教程

    共享文件夹是一个网络存储空间。您可以建立数个共享文件夹来存放不同类别的数据,或提供给不同的用户或用户群组来存取文件。   一旦加密共享文件夹被创建后,只有管理员将该共享
    的头像 发表于 04-02 14:17 980次阅读
    【操作指引】铁威马NAS加密<b class='flag-5'>文件夹</b>创建和使用教程