按关键字自动分类文件

博主为了解决研究生复试材料分类繁琐的问题,编写了一个Python脚本,根据文件名中的关键字自动将下载的文件分门别类地移动到相应文件夹。脚本首先创建分类文件夹,然后遍历指定文件夹中的文件,根据文件名中的关键字将其移动到对应分类的子目录。此外,还介绍了如何使用PyInstaller将脚本打包成exe可执行文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

          最近忙着研究生复试的事,每个学生都是通过邮发送他们的复试相关材料过来,因为复试时分不同专业的,所以命名是姓名+专业(或者专业+姓名)然后研究生办公室要你接收这些文件,分门别类的放好。

          我是咋干的呢,每一个文件都要选择下载到哪一个文件夹去,眼睛疼,脑袋昏。我就想,这不行呀,这种工作交给计算机不就好了。所以就花了半小时写了一个东西帮我解决这个问题,我只需要先修改浏览器下载默认位置,然后点邮件,点下载,到最后运行代码就完事,good;

          不过今年估计没戏了,都搞完了,以后可能会有用

         

效果

         

在这里插入图片描述

         

代码

import os
import shutil

# path = r'D:/pycharmProject/mail自动分配/mail/'            # 要处理的文件所在文件夹的路径位置 ,使用时替换成你要

path=os.getcwd()
path=path+'\\'

fileNames = os.listdir(path)                            # 从视频文件夹中获取各个文件的名字

'''创建分类文件夹'''
sonPaths=['电气','能源动力','电子信息','控制科学与工程']    #分类的依据,按某个关键字分类,也是子目录的名字
for sonPath in sonPaths:
    realPath = path+sonPath
    if not os.path.exists(realPath):        #判断目录是否存在
        print('ok')
        os.makedirs(realPath)

for fileName in fileNames:
    if os.path.isdir(path+fileName):        #如果是文件夹就跳过
        continue
    '''是文件那就开始分类移动'''
    for obj in sonPaths:                    #obj 即是分类的依据,按某个关键字分类,也是子目录的名字
        if obj in fileName:
            shutil.move(path+fileName,path+obj+'\\'+fileName)   #从源地址移动到目标地址,参数也是这个顺序(源地址,目的地址)
            break

          里面的 sonPaths 就是你分类的依据,就是说你按那些关键字来分,一个关键字就是一类

打包

         在这个.py文件所在的目录下打开命令行,输入PyInstaller -Fw XXXX.py,就行了

          -F 是打包成exe文件

          -w 是保证在运行exe文件是不弹出小黑框

友情链接

          win10 在文件路径下打开命令行窗口

          解决pycharm里面用pyinstaller打包成exe文件过大问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南自动化学院至渝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值