zoukankan      html  css  js  c++  java
  • 教你怎么用 Python 自动整理文件

    我以前经常把下载的东西放在桌面或者“下载”文件夹中,使用完后再也没管它,久而久之便变得乱七八糟,再整理的时候非常痛苦,巴不得有一个自动化的工具帮我归类文档。

    不知道你是不是有过跟我一样糟糕的体验,不过,前段时间我用Python做了一个根据后缀名整理文件的工具,先来看看效果:

    自动整理前:

    自动整理后:

     效果非常好,感觉舒服多了


    很多人学习python,不知道从何学起。
    很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
    很多已经做案例的人,却不知道如何去学习更加高深的知识。
    那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
    QQ群:1156465813

    使用

    1.准备

    开始之前,你要确保Python和pip已经成功安装在电脑上。

    你只需要修改源代码主程序中调用 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
    

    最后再把以上这些部分整理成函数进行调用即可。

    以下内容无用,为本篇博客被搜索引擎抓取使用
    (* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
    python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
    python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
    python 基础教程 网络爬虫 python python 爬虫经典例子
    python 爬虫
    (* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
    以上内容无用,为本篇博客被搜索引擎抓取使用

  • 相关阅读:
    sql 相关子查询
    sql 执行计划
    SQL表连接查询(inner join、full join、left join、right join)
    sql执行顺序
    sql 语句 嵌套子查询 执行顺序分析
    只有程序员才看得懂的情书
    Give Me an E
    hdu 1114 (背包变形)
    模版 并查集
    背包 讲解
  • 原文地址:https://www.cnblogs.com/shuchongzeishuai/p/14187755.html
Copyright © 2011-2022 走看看