Python按文件扩展名分类归放到所属的指定文件夹(2)

批量移动文件到指定文件夹
该博客介绍了如何使用Python的os和shutil模块来批量移动不同类型的文件到对应的文件夹。通过创建目标文件夹,列举文件夹内容,然后移动文件并删除空文件夹,实现了doc、docx、ppt、md等文档以及jpg、png、gif图片的分类管理。

将各分类文件移动到指定文件夹。如:doc、docx、ppt、md 统一移到 docment文件夹,将png、gif、jpg统一移到 image文件夹。下面我们看一下如何折腾。

主要用到os.makedirs() 创建目标文件夹;os.listdir(path) 返回指定的文件夹包含的文件或文件夹的名字的列表;shutil.move()方法将文件或目录(源)递归移动到另一个位置(目标)并返回目标;os.removedirs () 方法用于递归删除目录,注:os.rmdir() 是仅当这文件夹是空的才可以删除, 否则, 抛出OSError;

源码如下:

# coding:utf-8
import os
import shutil

# 需要把路径替换成你的文件夹所在路径,当把这个代码文件放在要处理的文件夹外一层时,可以使用下面的相对路径写法
path = './problem2_files'
# 创建目标文件夹
os.makedirs(path + '/image')
os.makedirs(path + '/document')
# 将需要处理的后缀名存储到list中
image_suffix = ['jpg', 'png', 'gif']
doc_suffix = ['doc', 'docx', 'ppt', 'md']
# 移动jpg、png、gif文件中的文件
for i in image_suffix:
    cur_path = path + '/' + i
    files = os.listdir(cur_path)
    for f in files:
        # 移动文件夹中的文件
        # 注意move函数的第一个参数是path+'/'+f,不能是f。因为f只是文件名,不是路径
        shutil.move(cur_path + '/' + f, path + '/image')
    # 删除文件夹
    os.removedirs(cur_path)
# 移动doc、docx、md、ppt文件夹中的文件,步骤与前面类似
for d in doc_suffix:
    cur_path = path + '/' + d
    files = os.listdir(cur_path)
    for f in files:
        shutil.move(cur_path + '/' + f, path + '/document')
    os.removedirs(cur_path)

运行结果

已成功按扩展名进行再分类。 好,谢谢阅读。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值