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

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

3天内不再提示

如何一键自动整理文件

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-31 16:26 次阅读

1.准备

开始之前,你要确保Pythonpip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

**(可选1) **如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

**(可选2) **此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

你只需要修改源代码主程序中调用 auto_organize函数的参数即可完成对对应文件夹的整理,比如我想整理 **C:Users83493Downloads **文件夹:

if __name__ == "__main__":
    auto_organize(r"C:Users83493Downloads")

如上所示,修改代码第61行的文件夹地址即可。修改完成后运行该脚本:

python auto_files.py

就能瞬间完成对指定文件夹的整理,极其方便。

图片

2.原理

这份代码的原理很简单,为了整理这些文件,我们要遍历当前指定的文件夹:如果是文件夹则跳过,如果是文件则检测后缀,分类到对应的文件夹中。文件夹名字及其对应的文件后缀如下:

DIRECTORIES = {
    "图片": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg",
               ".heif", ".psd"],
    "视频": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng",
               ".qt", ".mpg", ".mpeg", ".3gp", ".mkv"],
    "文档": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods",
                  ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox",
                  ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt",
                  "pptx",".csv",".pdf"],
    "压缩文件": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z",
                 ".dmg", ".rar", ".xar", ".zip"],
    "影音": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3",
              ".msv", "ogg", "oga", ".raw", ".vox", ".wav", ".wma"],
    "文本": [".txt", ".in", ".out"],
    "编程": [".py",".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"],
    "可执行程序": [".exe"],
}

接下来是自动整理的部分代码,先遍历指定的文件夹,识别后缀并分类到对应的文件夹中。

for entry in os.scandir(dirval):
    if entry.is_dir():
        # 如果是文件夹则跳过
        continue
    file_path = Path(dirval + "" + entry.name)
    file_format = file_path.suffix.lower()
    # 避免后缀大小写判断问题,全转为小写
    if file_format in FILE_FORMATS:
        directory_path = Path(dirval + "" + FILE_FORMATS[file_format])
        directory_path.mkdir(exist_ok=True)
        file_path.rename(directory_path.joinpath(entry.name))

还有出现不存在在我们字典里的后缀的情况,把它们分类到名为** 其他文件 **的文件夹中:

try:
    os.mkdir(dirval + "" +"其他文件")
except:
    pass

for dir in os.scandir(dirval):
    try:
        if dir.is_dir():
            # 删除空文件夹
            os.rmdir(dir)
        else:
            temp = str(Path(dir)).split('')
            # 分割文件路径
            path = ''.join(temp[:-1])
            print(path + '其他文件' + str(temp[-1]))
            os.rename(str(Path(dir)), path + '其他文件' + str(temp[-1]))
    except:
        pass

3.自定义整理

如果你并不想按照设定好的文件整理,希望能自定义地将某些特定后缀的文件放到另一个文件夹,比如 .py 文件统一收纳到“Python脚本”文件夹中,你可以这么改 DIRECTORIES 变量:

改动前:

DIRECTORIES = {
    # ......
    "编程": [".py",".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"],
    # ......
}

改动后:

DIRECTORIES = {
    # ......
    "编程": [".html5", ".html", ".htm", ".xhtml",".c",".cpp",".java",".css"],
    "Python脚本": [".py"],
    # ......
}

你可以按照这个方法,自定义收纳那些你需要整理收纳的文件格式。

如果你只想对 DIRECTORIES 变量里那些后缀的文件进行整理,不属于这些后缀的文件则不进行整理,不需要放到“其他文件”目录下,此时要怎么做?

很简单,你只需要删除以下部分代码就可以完成这个功能:

# ......
    try:
        os.mkdir(dirval + "" +"其他文件")
    except:
        pass

    for dir in os.scandir(dirval):
        try:
            if dir.is_dir():
                # 删除空文件夹
                os.rmdir(dir)
            else:
                temp = str(Path(dir)).split('')
                # 分割文件路径
                path = ''.join(temp[:-1])
                print(path + '其他文件' + str(temp[-1]))
                os.rename(str(Path(dir)), path + '其他文件' + str(temp[-1]))
        except:
            pass
# ......

怎么样,是不是很方便?如果这个简单的脚本帮助到了你,请转发给需要的人哦。

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

    关注

    1

    文章

    566

    浏览量

    24737
  • 函数
    +关注

    关注

    3

    文章

    4329

    浏览量

    62587
  • 数据分析
    +关注

    关注

    2

    文章

    1447

    浏览量

    34055
  • python
    +关注

    关注

    56

    文章

    4795

    浏览量

    84657
收藏 人收藏

    评论

    相关推荐

    方便快捷:PADS的一键快捷功能:一键灌铜,一键检查DRC

    倾情奉献给大家,非常实用的快捷功能一键灌铜: [hide] [/hide]一键检查连通性:[hide][/hide]一键检查安全间距::[hide] [/hide]一键清除Error标
    发表于 11-07 15:06

    一键还原小工具

    、重新启动电脑后会自动进入老毛桃一键还原界面进行自动系统备份。3、备份完毕后重新启动电脑,打开老毛桃一键还原程序即可看到程序自动检测到刚刚备
    发表于 05-14 16:14

    系统一键还原工具

    、重新启动电脑后会自动进入老毛桃一键还原界面进行自动系统备份。3、备份完毕后重新启动电脑,打开老毛桃一键还原程序即可看到程序自动检测到刚刚备
    发表于 05-27 12:46

    一键还原系统

    : 1B0EFACA8D0625ED5B412A7AFFADBF812D6F94DACRC32: F336E2EA老毛桃一键还原视频教程:2、重新启动电脑后会自动进入[url=http://ghost.laomaotao.net/]老毛桃
    发表于 06-18 20:41

    电脑系统一键还原工具

    部分杀毒软件误报,请尽量在运行程序前退出杀软或在安全类软件提示是否允许操作时信任本程序运行。初次运行程序会提示进行初始备份,点击一键备份系统按钮后根据程序提示选择重新启动。2、重新启动电脑后会自动进入老
    发表于 07-01 16:05

    一键还原V2.0图文教程

    些函数位置及变量调整5、完善1:1判断,使之更人性化6、调整简洁窗口主界面并增加“一键重装系统”7、调整及增加高级窗口些控件位置及功能下载地址:2、重新启动电脑后会自动进入老毛桃一键
    发表于 07-16 17:47

    一键还原系统工具2.0

    部分杀毒软件误报,请尽量在运行程序前退出杀软或在安全类软件提示是否允许操作时信任本程序运行。初次运行程序会提示进行初始备份,点击一键备份系统按钮后根据程序提示选择重新启动。2、重新启动电脑后会自动进入老
    发表于 08-05 19:53

    一键还原系统工具

    部分杀毒软件误报,请尽量在运行程序前退出杀软或在安全类软件提示是否允许操作时信任本程序运行。初次运行程序会提示进行初始备份,点击一键备份系统按钮后根据程序提示选择重新启动。2、重新启动电脑后会自动进入老
    发表于 08-08 16:59

    一键还原V2.0

    部分杀毒软件误报,请尽量在运行程序前退出杀软或在安全类软件提示是否允许操作时信任本程序运行。初次运行程序会提示进行初始备份,点击一键备份系统按钮后根据程序提示选择重新启动。2、重新启动电脑后会自动进入
    发表于 10-27 16:50

    Stm32怎么一键下载

    文章目录前言一键下载一键下载原理硬件原理图跳帽与启动存储映射串口下载程序由来一键下载流程通过 USB 控制机器复位握手解读前言最近在又要折腾 stm32 了,所以翻出了脚落里的开发板,先复习下
    发表于 08-05 08:13

    DFM-一键导入pcb,自动出报价

    华秋DFM-专业PCB设计分析软件,20万+工程师都在使用 1. 一键导入,自动出报价 2.一键分析23+项常见设计问题,解决设计隐患 3.智能拼版,节约单板采购成本 4.智能阻抗计算和反算 5. BOM智能分析,不再
    发表于 08-09 16:59 0次下载

    Jenkins+docker+springboot一键自动部署项目

    本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
    的头像 发表于 09-14 09:30 1596次阅读

    DIY一键自动卷帘模块

    电子发烧友网站提供《DIY一键自动卷帘模块 .zip》资料免费下载
    发表于 11-22 10:01 0次下载
    DIY<b class='flag-5'>一键</b>式<b class='flag-5'>自动</b>卷帘模块

    一键开关电路的好处?生活中的一键开关电路有哪些?

    一键开关电路的好处?生活中的一键开关电路有哪些? 一键开关电路是指个电路设计,可以用个按钮或开关来控制多个电器或灯具的开关。
    的头像 发表于 10-22 15:18 2238次阅读

    变电站一键顺控系统和开关柜一键顺控有区别吗?

    变电站一键顺控系统和开关柜一键顺控技术虽然都涉及到“一键顺控”的概念,但它们在应用范围和具体实现上有所不同,因此变电站一键顺控系统和开关柜一键
    的头像 发表于 07-31 13:34 568次阅读
    变电站<b class='flag-5'>一键</b>顺控系统和开关柜<b class='flag-5'>一键</b>顺控有区别吗?