将各分类文件移动到指定文件夹。如: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)
运行结果


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

被折叠的 条评论
为什么被折叠?



