Python实现批量文件分类保存的示例代码

 更新时间:2022年04月22日 16:36:53   作者:嗨学编程  
当我们电脑里面的文本或者或者文件夹太多了,有时候想找到自己想要的文件,只能通过去搜索文件名,这样还是很麻烦的。本文将通过Python语言实现文件批量分类保存,需要的可以参考一下

序言

当我们电脑里面的文本或者或者文件夹太多了,有时候想找到自己想要的文件,只能通过去搜索文件名,要是名字忘记了的话,那你也搜不了吧,当然你可通过后缀名去搜索,但是通过搜索出来的文件只会更多,这还只是文件多的情况下。

如果文件名字基本一样,只有序号不一样呢?那特么眼睛看瞎了估计还没找到。

那么我们可以用Python来对文件进行批量自动分类保存到文件夹,下次找的时候,就很轻松的能够找到了。

我们这里以这两百多个world原始文件为例

代码展示

import os
import time
import datetime
import pprint
import shutil
import re

origin_dir = '原始文件/'
target_dir = '目标文件/'
files = os.listdir(origin_dir)

month_compile = re.compile('(20\d\d)([01][0-9])')
print(files)
file_dict = {}
for file in files:
    if file.endswith('.docx'):
        word_file = os.path.join(origin_dir, file)
        month = month_compile.search(word_file)
        if month:
            month = month.groups()
            # print(month.groups())
            if month[-1] == '00':
                month = re.search('(20\d\d)0([01][0-9])', word_file).groups()
            t1 = '-'.join(month)
            if t1 in file_dict.keys():
                file_dict[t1].append(word_file)
            else:
                file_dict[t1] = [word_file]

pprint.pprint(file_dict)

if not os.path.exists(target_dir):
    os.mkdir(target_dir)
# 移动文件
for key in file_dict.keys():
    # 创建文件的月份
    new_file_dir = os.path.join(target_dir, key)
    if not os.path.exists(new_file_dir):
        os.mkdir(new_file_dir)
    for file in file_dict[key]:
        # 获取文件名
        new_file_name = os.path.basename(file)
        # 合并新的文件路径
        new_file_path = os.path.join(new_file_dir, new_file_name)
        print(new_file_name)
        shutil.copyfile(file, new_file_path)

效果展示

我们这里以按月份分类为例,自动创建文件夹进行分类。

看,这不就好找多了

到此这篇关于Python实现批量文件分类保存的示例代码的文章就介绍到这了,更多相关Python文件分类保存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 串口通信的实现

    Python 串口通信的实现

    这篇文章主要介绍了Python的串口通信的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • Python 如何利用pandas和matplotlib绘制饼图

    Python 如何利用pandas和matplotlib绘制饼图

    这篇文章主要介绍了Python 如何利用pandas和matplotlib绘制饼图,代码使用了Pandas和Matplotlib库来绘制店铺销售数量占比的饼图,需要的朋友可以参考下
    2023-10-10
  • Pytorch 如何实现常用正则化

    Pytorch 如何实现常用正则化

    这篇文章主要介绍了Pytorch 实现常用正则化的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python常用request库与lxml库操作方法整理总结

    python常用request库与lxml库操作方法整理总结

    一路学习,一路总结,技术就是这样,应用之后,在进行整理,才可以加深印象。本篇文字为小节篇,核心总结 requests 库与 lxml 库常用的操作
    2021-08-08
  • 如何为Python终端提供持久性历史记录

    如何为Python终端提供持久性历史记录

    这篇文章主要介绍了如何为Python终端提供持久性历史记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python中Django框架下的staticfiles使用简介

    Python中Django框架下的staticfiles使用简介

    这篇文章主要介绍了Python中Django框架下的staticfiles使用简介,staticfiles是一个帮助Django管理静态资源的工具,需要的朋友可以参考下
    2015-05-05
  • Python socket如何实现服务端和客户端数据传输(TCP)

    Python socket如何实现服务端和客户端数据传输(TCP)

    这篇文章主要介绍了Python socket如何实现服务端和客户端数据传输(TCP),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • python之np.argmax()及对axis=0或者1的理解

    python之np.argmax()及对axis=0或者1的理解

    这篇文章主要介绍了python之np.argmax()及对axis=0或者1的理解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Python中异常处理及最佳实践举例详解

    Python中异常处理及最佳实践举例详解

    异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,下面这篇文章主要给大家介绍了关于Python中异常处理及最佳实践的相关资料,需要的朋友可以参考下
    2024-03-03
  • Python最长回文子串问题

    Python最长回文子串问题

    这篇文章主要介绍了Python最长回文子串问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11

最新评论