python实现根据文件格式分类

yipeiwu_com7年前Python基础

本文实例为大家分享了python根据文件格式分类的具体代码,供大家参考,具体内容如下

使用到python内置os模块(对目录或文件的新建/删除/属性查看,还提供了对文件以及目录的路径操作)、shutil模块(高等级的目录或文件的移动/复制/打包/压缩/解压等操作)

import os,shutil,time
def files_classfy(target_path):
  global count #定义全局变量
  file_list = os.listdir(target_path) #列出目标路径下的所有文件列表
  for file in file_list: #遍历取到每一个文件名
    os.chdir(target_path) #改变当前工作目录为目标路径
    if file.find('.') == -1: #如果当前文件名中无扩展名则跳过
      continue
    filetype = file.split('.')[-1] #取得文件扩展名格式,windows下文件需设置为扩展名可见
    if not os.path.exists(filetype):
      os.mkdir(filetype)  #如果工作目录下不存在以当前扩展名命名的文件夹则创建该文件夹(默认属性为0777)
    new_path = os.path.join(target_path,'%s'%filetype) #取得当前扩展名文件夹路径
    os.chdir(new_path) 
    if os.path.exists(file): #如果当前扩展名文件夹中已存在同名文件则跳过
      continue
    else:
      os.chdir(target_path) #将工作目录切换回目标文件夹
      shutil.move(file,filetype) #移动相同格式的文件到对应的格式文件夹
      count+=1
start = time.time()
count = 0
path = "G:\picture\mi5splus"
files_classfy(path)
total_time = time.time() - start
print("程序运行时间:%0.2f"%total_time)
print("共处理图片:%d"%count)

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python socket实现多对多全双工通信的方法

服务器:#server.py #!/usr/bin/env python #-*-coding:utf-8-*- import sys import struct#将字符串打包为二进...

浅析Python装饰器以及装饰器模式

漫谈 如果作为一个Python入门,不了解Python装饰器也没什么,但是如果作为一个中级Python开发人员,如果再不对python装饰器熟稔于心的话,那么可能并没有量变积累到质变。...

Linux CentOS7下安装python3 的方法

在CentOS7下,默认安装的就是python2.7,我现在来教大家如何安装python3: 1、首先安装python3.6可能使用的依赖 # yum -y install open...

python 用所有标点符号分隔句子的示例

问题 给出一段话,由短句组成,短句之间可能被任意标点符号隔开。想要提取所有的短句。 解决 使用 re.split 函数,用正则式匹配的方法,一次性分隔所有短句。 import re...

通过数据库对Django进行删除字段和删除模型的操作

删除字段 从Model中删除一个字段要比添加容易得多。 删除字段,仅仅只要以下几个步骤:     删除字段,然后重新启动你的web服务器。 &nb...