Python 文件批量分类存储案例

使用Python可自动按扩展名分类文件:通过os和shutil模块遍历“待整理文件”目录,根据预定义的file_categories映射关系,将.txt、.jpg等文件分别移入“文本文件”“图片文件”等子文件夹,未匹配的归入“其他文件”,实现高效批量整理。

python 文件批量分类存储案例

在日常工作中,我们经常需要将大量文件按照特定规则分类存储。Python 提供了强大的文件操作能力,可以轻松实现文件的批量分类整理。下面通过一个实际案例,展示如何使用 Python 将指定目录中的文件按扩展名自动归类到不同的子文件夹中。

需求说明

假设有一个名为 “待整理文件” 的文件夹,里面混杂着多种类型的文件(如 .txt、.jpg、.pdf 等)。我们的目标是编写一段 Python 脚本,自动读取该文件夹中的所有文件,并根据文件后缀名创建对应的分类文件夹(如 “文本文件” 对应 .txt,”图片文件” 对应 .jpg/.png 等),然后将文件移动进去。

实现步骤

以下是完成该任务的关键步骤和代码逻辑:

1. 导入所需模块

立即学习“Python免费学习笔记(深入)”;

使用 osshutil 模块进行路径操作和文件移动:

os:用于遍历文件、判断路径是否存在shutil:用于移动文件

2. 定义文件类型映射

建立扩展名与目标文件夹名称的映射关系,便于统一管理:

file_categories = {    '文本文件': ['.txt', '.log'],    '图片文件': ['.jpg', '.jpeg', '.png', '.gif', '.bmp'],    '文档文件': ['.pdf', '.doc', '.docx', '.ppt', '.pptx'],    '表格文件': ['.xls', '.xlsx', '.csv'],    '音频文件': ['.mp3', '.wav', '.aac'],    '视频文件': ['.mp4', '.avi', '.mkv']}

3. 遍历并分类文件

扫描源目录中的每个文件,提取扩展名,匹配分类,然后移动到对应文件夹:

使用 os.listdir 获取所有文件名用 os.path.splitext 分离文件名和扩展名根据扩展名查找所属分类若目标文件夹不存在,则创建使用 shutil.move 移动文件

完整代码示例

以下是一个可直接运行的脚本模板:

import osimport shutil

源文件夹路径

source_dir = '待整理文件'

文件分类映射

file_categories = {'文本文件': ['.txt', '.log'],'图片文件': ['.jpg', '.jpeg', '.png', '.gif', '.bmp'],'文档文件': ['.pdf', '.doc', '.docx', '.ppt', '.pptx'],'表格文件': ['.xls', '.xlsx', '.csv'],'音频文件': ['.mp3', '.wav', '.aac'],'视频文件': ['.mp4', '.avi', '.mkv']}

遍历源目录

for filename in os.listdir(source_dir):file_path = os.path.join(source_dir, filename)

# 确保是文件而不是文件夹if os.path.isfile(file_path):    # 获取小写扩展名    _, ext = os.path.splitext(filename)    ext = ext.lower()    # 匹配分类    moved = False    for folder_name, extensions in file_categories.items():        if ext in extensions:            target_folder = os.path.join(source_dir, folder_name)            if not os.path.exists(target_folder):                os.makedirs(target_folder)            shutil.move(file_path, os.path.join(target_folder, filename))            moved = True            break    # 其他未定义类型归入“其他文件”    if not moved:        other_folder = os.path.join(source_dir, '其他文件')        if not os.path.exists(other_folder):            os.makedirs(other_folder)        shutil.move(file_path, os.path.join(other_folder, filename))

print("文件分类整理完成!")

使用建议

这个脚本可以根据实际需求灵活调整:

修改 source_dir 指向你的目标文件夹增减 file_categories 中的类别和扩展名可加入日志记录或异常处理增强稳定性结合定时任务实现自动化整理

基本上就这些。不复杂但容易忽略细节,比如扩展名大小写、文件夹重复创建等问题,只要提前考虑清楚,就能让文件管理变得更高效。

以上就是Python 文件批量分类存储案例的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1381028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 22:36:25
下一篇 2025年12月14日 22:36:32

相关推荐

发表回复

登录后才能评论
关注微信