Python脚本实现一键自动整理办公文件

 更新时间:2022年02月16日 09:42:36   作者:车厘子@  
这篇文章主要介绍了Python实现脚本一键自动整理办公文件,文件下载文件夹就变得乱七八糟,整理的时候非常痛苦,巴不得有一个自动化的工具帮我归类文档。下面小编就给大家分享自动化整理文件的小技巧,需要的朋友可以参考一下文章内容

导语:

举例:Python做一个根据后缀名整理文件的工具,先来看看效果:

自动整理前:

自动整理后:

这样看起来就好很多了。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:python Windows最新版本安装教程

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

if __name__ == "__main__":
    auto_organize(r"C:\Users\83493\Downloads")

如上所示:修改代码第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
# ......

小编觉得这样就很方便。

到此这篇关于Python实现脚本一键自动整理办公文件的文章就介绍到这了,更多相关Python实现自动整理文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Matplotlib绘图基础之配置参数详解

    Matplotlib绘图基础之配置参数详解

    Matplotlib 提供了大量配置参数,这些参数可以但不限于让我们从整体上调整通过 Matplotlib 绘制的图形样式,下面我们就来看看如何巧妙的运用这些参数吧
    2023-08-08
  • python 动态规划问题解析(背包问题和最长公共子串)

    python 动态规划问题解析(背包问题和最长公共子串)

    这篇文章主要介绍了python 动态规划(背包问题和最长公共子串),在动态规划中,你要将某个指标最大化。在这个例子中,你要找出两个单词的最长公共子串。fish和fosh都包含的最长子串是什么呢,感兴趣的朋友跟随小编一起看看吧
    2022-05-05
  • python基础之多态

    python基础之多态

    这篇文章主要介绍了python多态,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • Python中import导入上一级目录模块及循环import问题的解决

    Python中import导入上一级目录模块及循环import问题的解决

    Python中的import语句导入模块相信大家再熟悉不过了,这里我们会来讲解Python中import导入上一级目录模块及循环import问题的解决,需要的朋友可以参考下
    2016-06-06
  • python编辑用户登入界面的实现代码

    python编辑用户登入界面的实现代码

    这篇文章主要介绍了python编辑用户登入界面的实现代码,非常不错,代码简单易懂,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • python快速入门题目详解

    python快速入门题目详解

    下面小编就为大家带来一篇快速入门python的题目详解小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-11-11
  • python中对_init_的理解及实例解析

    python中对_init_的理解及实例解析

    这篇文章主要介绍了python中对_init_的理解及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python中is与双等于号“==”的区别示例详解

    python中is与双等于号“==”的区别示例详解

    Python中有很多运算符,下面这篇文章主要给大家介绍了关于python中is与双等于号“==”区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • Python 如何利用ffmpeg 处理视频素材

    Python 如何利用ffmpeg 处理视频素材

    ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,使用这个神器,便可以处理各种视频素材内容,极度舒适。本文将介绍如何利用ffmpeg对视频素材进行处理,感兴趣的可以了解一下
    2021-11-11
  • Python Matplotlib 库使用指南

    Python Matplotlib 库使用指南

    这篇文章主要介绍了Python Matplotlib 库使用基本指南,通过本教程,我们学习了使用 Matplotlib 创建各种类型的图表和图形,Matplotlib 提供了丰富的函数和选项,以满足不同的数据可视化需求,需要的朋友可以参考下
    2024-01-01

最新评论