首页 > 其他分享 >文件自动分类工具

文件自动分类工具

时间:2024-07-07 13:26:58浏览次数:15  
标签:文件 扩展名 分类 文件夹 自动 file 文件类型 folder

  1. 获取当前工作目录

    • 使用Path().resolve()获取当前工作目录的绝对路径。
  2. 定义文件类型及其对应的扩展名

    • types字典存储了各种文件类型及其对应的文件扩展名列表。例如,文档类型包括.doc.docx.txt等;图像类型包括.jpg.jpeg.png等。
  3. 遍历当前目录下的所有文件

    • 使用files_in_directories.iterdir()遍历当前目录下的所有项目。
    • 使用file.is_file()检查每个项目是否为文件,同时排除.DS_Store文件。
  4. 根据文件类型创建或使用现有文件夹

    • 遍历types字典中的每种文件类型。
    • 检查文件的扩展名是否与当前类型的扩展名列表匹配。
    • 如果匹配,获取对应类型文件夹的完整路径。
    • 如果文件夹不存在,则创建它。
  5. 移动文件到相应的文件夹

    • 获取目标文件夹中文件的新路径。
    • 如果新路径的文件不存在,则将原文件移动到新位置。
    • 如果新路径的文件已经存在,则输出一条消息表示跳过此文件。

通过这种方式,脚本可以自动地将不同类型的文件组织到不同的文件夹中,从而帮助用户保持文件系统的整洁和有序。

"""
    文件自动分类工具
    - 根据文件类型自动将文件分类至相应文件夹
"""

from pathlib import Path

# 获取当前工作目录
current_directory = Path().resolve()

# 定义文件类型及其对应的扩展名
file_types = {
    "文档": ('.doc', '.docx', '.txt', '.pdf', '.xls', '.ppt', '.xlsx', '.pptx'),
    "图片": ('.jpg', '.jpeg', '.png', '.svg', '.gif', '.tif', '.tiff'),
    "软件": ('.exe', '.pkg', '.dmg'),
    "视频": ('.mkv', '.mp4', '.3gp', '.m4v', '.avi', '.flv', '.webm'),
    "音频": ('.mp3', '.ogg', '.m4a', '.wav'),
    "压缩文件": ('.rar', '.zip', '.gzip')
}

# 遍历当前目录下的所有文件
for file in current_directory.iterdir():
    if file.is_file() and file.name != ".DS_Store":
        # 查找文件的类型
        for category, extensions in file_types.items():
            if file.suffix.lower() in extensions:
                target_folder = current_directory / category
                
                # 创建目标文件夹,如果还不存在的话
                target_folder.mkdir(exist_ok=True)
                
                # 构建目标文件路径
                destination = target_folder / file.name
                
                # 如果目标文件夹中不存在同名文件,则移动文件
                if not destination.exists():
                    file.replace(destination)
                    print(f"正在将文件 {file.name} 移动到 {target_folder}")
                else:
                    print(f"文件 {destination} 已存在,跳过...")
                break
        else:
            # 如果文件不属于任何已知类型,则打印一条信息
            print(f"未识别的文件类型:{file.name}")

标签:文件,扩展名,分类,文件夹,自动,file,文件类型,folder
From: https://blog.csdn.net/weixin_45339016/article/details/140245063

相关文章

  • [javascript]如何优雅的实现网页自动滚动
    在设计一些网站的时候,考虑到用户腾不开手,不想动的情况,就需要设计一个自动滚动的功能,我不提供gui界面的设计,只提供一个丝滑滚动的源码letscrollPercentage=0.02;//这个变量就是一秒滚动这个滚动节点的视窗的百分之几letscrollState=false;//true为正在滚动letscrollE......
  • LVGL一键打包图片工具,全部图片打包成一个bin文件,支持nor flash XIP模式下直接访问数据
    最近做工程项目,需要用到LVGL,但是搜了很长时间没有看到合适的图片打包工具,大多都是生成数组或者单个的bin文件,这样烧录到norflash很麻烦后来看到一篇博客,博主的想法与我类似,不过他后面部分就做的麻烦了,所以,我直接从头写了一个工具,他的博客地址:https://www.wpgdadatong.com.cn/blo......
  • yoloV5实现红外海上船舶分类
     介绍Pytorch使用yoloV5实现红外海上船舶分类硬件配置实验在一台配备以下规格的机器上进行:-处理器:[i5-10200H]-GPU:[GTX1650]-内存:[16GB]软件配置-操作系统:[Windows10]-深度学习框架:PyTorch[1.10.2]-CUDA版本:[11.3]-cuDNN版本:[11.6]模型使用的是yol......
  • ctfshow-web入门-文件上传(web151-web160)
    目录1、web1512、web1523、web1534、web1545、web1556、web1567、web1578、web1589、web15910、web1601、web151试了下前端只能传png后缀的将一句话木马改成png后缀,上传后用burpsuite抓包绕过前端检测后,改回php后缀,发包调用:/upload/eval.php?cm......
  • 电脑文件丢失数据恢复
    一、从回收站恢复步骤:打开回收站,查看是否有误删除的文件。右键点击需要恢复的文件,选择【还原】。等待文件还原完成,检查原位置是否已恢复该文件。注意:如果在删除文件后立即意识到错误,且未进行其他操作,可尝试使用【Ctrl+Z】快捷键撤销删除。撤销操作后,文件将恢复到删除前的状......
  • 函数,调试,循环,头文件
    1.关于函数作用:避免代码重复可以方便维护,因为当多个地方需要用到同样的代码时,如果要做出修改只需要改函数就能整体修改。函数通常都会有返回值,什么类型的函数返回什么样的类型的值函数通常分为函数声明和函数参数通常声明放在头文件中函数定义发在C++文件中这样做可以在别的......
  • 开源自动化工具和框架:提高工作效率,解放双手
            一、引言        在当今快节奏的工作环境中,提高效率、节省时间是每个人的追求。开源自动化工具和框架作为一种有效的手段,可以帮助我们完成重复性、繁琐的任务,从而解放双手,提高工作效率。本文将详细介绍开源自动化工具和框架,帮助您更好地了解并应用这......
  • 微信小程序广告自动访问:让广告收益轻松翻倍的利器
    微信小程序流量主挂机刷广告脚本/机器人/助手在当下这个数字化飞速发展的时代,微信小程序已经成为商家推广和吸引流量的重要平台。然而,对于很多小程序流量主来说,如何最大化地利用广告资源、提升广告收益,却是一个不小的挑战。`项目交流/洽谈——......
  • 基于Linux的可信文件系统设计与实现(开题报告)
    本科毕业设计(论文)开题报告题目:基于Linux的可信文件系统设计与实现1、毕业设计的主要内容、重点和难点等1.主要内容:在操作系统中实现文件的各种操作,即新建、复制、删除等。使用加密算法对重要文件进行加密,保证文件的安全性,设置用户登录进入系统后才能操作文件,对用户密码......
  • 基于Linux的可信文件系统设计与实现
    目录摘要IAbstractII第1章绪论11.1选题背景及意义11.1.1选题背景11.1.2选题意义11.2国内外研究现状及发展趋势21.2.1国内研究现状21.2.2国外研究现状21.2.3发展趋势21.3论文研究主要内容3第2章技术及工具概述42.1Linux文件系统概述4......