- 如何移动文件? → 使用内置模块来实现
- 归类的规则是什么? → 手动(预设文件夹)/ 自动(创建文件夹)
import shutil
import os
path = './' #由于这里是相对路径, 所以需要把这个代码文件和你要处理的文件放到同一文件夹里
files = os.listdir(path)
for f in files:
#f.png
#./png
folder_name = './' + f.split('.')[-1]
if not os.path.exists(folder_name):
os.makedirs(folder_name)
shutil.move(f,folder_name)
else:
shutil.move(f,folder_name)
以下代码
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 1. 把 jpg,png,gif 文件夹中的所有文件移动到 image 文件夹中,然后删除 jpg,png,gif 文件夹
# 2. 把 doc,docx,md,ppt 文件夹中的所有文件移动到 document 文件夹中,然后删除
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)
网友评论