python实现根据文件格式分类

yipeiwu_com6年前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测试线程应用程序过程解析

这篇文章主要介绍了Python测试线程应用程序过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在本章中,我们将学习线程应用程序...

Python安装Imaging报错:The _imaging C module is not installed问题解决方法

今天写Python程序上传图片需要用到PIL库,于是到http://www.pythonware.com/products/pil/#pil117下载了一个1.1.7版本的,我用的是Ce...

举例讲解Python设计模式编程中的访问者与观察者模式

访问者模式 我觉得Visitor模式是在补修改已有程序结构前提下,通过添加额外的访问者完成对代码功能的拓展 为什么这样用?当你的类层次较多,在某层结构中增加新的方法,要是在基类上面添加或...

详解python中字典的循环遍历的两种方式

开发中经常会用到对于字典、列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式。 注意: python2...

python实现简易通讯录修改版

描述: 上一篇博客我写了一个简单的通讯录,但是还是觉得不够完美: 需要输入ID,虽然ID是主键,但是没有实现自增功能; 忘记加电话号码了; 如果插入用户名相同,则后续的查、改、删功能受到...