用 Python 实现文件自动归类

点击上方“码农突围”,马上关注

这里是码农充电第一站,回复“666”,获取一份专属大礼包

真爱,请设置“星标”或点个“在看”

文/GitPython

这几天和几个小伙伴,在一起合做一个ppt。

做ppt之前有原版的ppt,和一个word大纲,在制作过程中,又不断添加图片、视频等素材,最终,整个目录变得杂乱不堪(见下图-处理之前)

那我想,可不可以做一个脚本实现文件按照扩展名自动分类呢?

这样,就可以相对轻松的找到文件了。

效果展示

使用方法很简单,只要把python脚本文件,放到待处理的文件夹目录下,运行python文件即可。

预备知识

这个脚本实现比较简单,我把涉及的知识点列了出来。

1)相对路径、绝对路径

绝对路径就是最完整的路径。

 'D:/code/gitpython.py'

相对路径的相对指的就是相对于当前文件夹路径,就是你编写的这个py文件所放的文件夹路径。

'gitpython.py'  或者  './gitpython.py'

2)os模块和shutil模块

os.listdir(path)

path--需要列出的目录路径

import os

# 打开文件
path = "./"
dirs = os.listdir(path)

# 输出所有文件和文件夹
for file in dirs:
   print file

# 运行结果:
1.docx
1.jpg
1.pptx

移动文件(目录)

shutil.move("oldpos","newpos")

源码展示

import os
import shutil

path = "./"  # py文件所在的文件夹下
file = os.listdir(path)  # 列出当前文件夹的所有文件

# 循环遍历每个文件
for f in file:
    # print(f)

    # 以扩展名为名称的子文件夹
    folder_name = path + f.split(".")[-1]

    # 如果不存在该目录,先创建,再移动文件
    if not os.path.exists(folder_name):
        os.makedirs(folder_name)

        # 举例:这里的f为 1.png 等同于 ./1.png (因为是相对路径)
        shutil.move(f, folder_name)

    # 直接移动文件
    else:
        shutil.move(f, folder_name)

---END---
重磅!码农突围-技术交流群已成立
扫码可添加码农突围助手,可申请加入码农突围大群和细分方向群,细分方向已涵盖:Java、Python、机器学习、大数据、人工智能等群。
一定要备注:开发方向+地点+学校/公司+昵称(如Java开发+上海+拼夕夕+猴子),根据格式备注,可更快被通过且邀请进群
▲长按加群
顺说句题外话,有不少人想加鱼哥微信,鱼哥姑且放出来,但是坑位有限哦



有热门推荐????
1、生猛!这篇万字长文,一下子把计算机底层知识说明白了!2、狠人 Spring Cloud 20000 字总结!3、如何教老婆学Python?
如有收获,点个在看,诚挚感谢
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,为您编写一个文件自动分类工具的代码: ``` import os import shutil def classify_files(src_dir, dst_dir): file_types = {} for filename in os.listdir(src_dir): file_path = os.path.join(src_dir, filename) if os.path.isfile(file_path): file_type = filename.split('.')[-1] if file_type not in file_types: os.makedirs(os.path.join(dst_dir, file_type)) file_types[file_type] = os.path.join(dst_dir, file_type) shutil.move(file_path, os.path.join(file_types[file_type], filename)) src_dir = '/path/to/src' dst_dir = '/path/to/dst' classify_files(src_dir, dst_dir) ``` 该代码会读取`src_dir`目录下的所有文件,并根据文件后缀分类到`dst_dir`目录下。比如,如果有一个名为`example.txt`的文本文件,它会被移动到`dst_dir/txt/`目录下。 希望对您有所帮助! ### 回答2: Python是一种高级编程语言,非常适合用于编写自动化工具。下面是一个用Python编写的文件自动分类工具的示例: 该工具的目标是为指定的文件夹中的文件进行自动分类。用户只需要提供要分类文件夹路径和分类规则,工具就能自动文件按照规则进行分类。 首先,用户需要在源代码中定义分类规则。例如,用户可以使用文件的扩展名作为分类依据,将具有相同扩展名的文件放入同一个文件夹。用户可以通过修改代码中的分类规则来满足个性化的需求。 接下来,工具会遍历指定文件夹中的所有文件。使用Python的os库可以轻松地获取文件夹中的文件列表。然后,工具会根据分类规则将文件移动到相应的文件夹中。使用Python的shutil库可以方便地实现文件的移动操作。 工具还可以对每个文件夹进行计数,以便用户了解每个分类中有多少个文件。可以使用Python的os库来获取文件夹内文件的数量。 最后,工具会生成一个报告,列出分类结果以及每个分类文件的数量。用户可以将报告保存到一个文本文件中。可以使用Python文件操作来创建并写入报告。 使用Python编写这样一个文件自动分类工具,可以帮助用户快速整理和管理文件,提高工作效率。该工具非常灵活,用户可以根据自己的需求进行规则的设置。同时,Python具有简单易学的语法和丰富的库支持,使得编写这样的工具变得轻松高效。 ### 回答3: Python是一种强大且易于使用的编程语言,可以用于编写各种应用程序和工具。对于文件自动分类工具的编写,Python文件操作和字符串处理的功能非常适合。 首先,可以使用Python的os模块来遍历指定文件夹中的所有文件。这样可以获取文件夹下的所有文件的路径。 接下来,可以使用Python的shutil模块来创建新的文件夹,并将文件移动到相应的文件夹中。通过判断文件的扩展名,可以将不同类型的文件分类到不同的文件夹中。例如,可以创建一个名为"图片"的文件夹,将扩展名为".jpg"、".png"和".gif"的文件移动到该文件夹中。同样的原理可以应用于其他类型的文件,如文档、音频和视频等。 另外,为了方便用户使用,可以使用Python的argparse模块来接受用户输入的文件夹路径作为参数。这样用户只需在命令行中输入文件夹路径,即可自动文件分类到相应的文件夹中。同时,可以添加一些错误处理的功能,比如用户输入的文件夹路径不存在或者没有权限访问等。 最后,为了提高用户体验,可以使用Python的tkinter模块或Qt模块等来创建一个用户界面。用户可以通过界面来选择文件夹,并点击一个按钮来开始自动分类的过程。界面还可以显示分类的进度和结果等信息,让用户了解整个过程的运行情况。 综上所述,利用Python编写一个文件自动分类工具是十分可行的。通过利用Python文件操作、字符串处理和GUI库等功能,可以实现一个简单而实用的工具,提高文件管理的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值