码迷,mamicode.com
首页 > 编程语言 > 详细

python-----文件自动归类

时间:2019-01-22 18:38:26      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:moved   vcs   com   不能   image   Fix   blank   路径   pat   

  • 如何移动文件? →  使用内置模块来实现
  • 归类的规则是什么? → 手动(预设文件夹)/ 自动(创建文件夹)
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)

 

以下代码素材自取:链接:https://pan.baidu.com/s/1BKELJfe9lZpmBOgzvCSq4w    提取码:b3rb 

# 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)

 

python-----文件自动归类

标签:moved   vcs   com   不能   image   Fix   blank   路径   pat   

原文地址:https://www.cnblogs.com/xiaodai0/p/10305109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!