●应用场景

文件夹下音乐很,现在想根据歌名中的作者进行分类到不同的文件夹之下。

分类之后再基于分类的资源结构构件后期的web服务。

其中分类的工作交给python脚本进行完成。

待分类音乐文件如:

周杰伦 - 枫.mp3

周杰伦-枫.mp3

周杰伦_枫.mp3

...

●分类的脚本classdir.py

import os,sys
import shutil,string
from string import Template
import re
###############################################################################
gCount = 0###############################################################################
def getList(dirname,pFunc):global gCounttry:ls=os.listdir(dirname)except:print dirname,'is access deny'else:for file in ls:temp = os.path.join(dirname,file)if os.path.isdir(temp):continueelse:pFunc(dirname,file)###############################################################################
def create_dir_ifneed(author):ls=os.listdir(os.getcwd())if author in ls:returnos.mkdir(author)def rename_file(old,new):dirname = os.getcwd()os.rename(os.path.join(dirname,old),os.path.join(dirname,new))def move_file_to_dir(file,dir):dirname = os.getcwd()shutil.move(os.path.join(dirname,file),os.path.join(dirname,dir))
def process(dirname,file):if file == "." or file == "..":returnprint fileif not re.search("mp3$",file):returnif re.search("-",file):items = file.split("-",1)author = items[0].strip()fname = items[1].strip()create_dir_ifneed(author)rename_file(file,fname)move_file_to_dir(fname,author)if re.search("_",file):items = file.split("_",1)author = items[0].strip()fname = items[1].strip()create_dir_ifneed(author)rename_file(file,fname)move_file_to_dir(fname,author)###############################################################################
print "processing the following files"
print "====================================================="
getList(os.getcwd(),process)

python一键分类文件夹下的文件音乐相关推荐

  1. c++遍历文件夹下的文件_算法面试|开发者必备|使用递归函数进行无限分类及文件夹遍历...

    适合的读者:学生:初级程序员 前言 程序设计本质上是为了解决生产中的问题,而有时候我们面临的问题无法用有限的数学公式来解决,比如树形目录.无限分类等等,类似这种问题,用递归函数来解决就方便多了. 那什 ...

  2. python根据文件名或后缀名遍历文件夹下所有文件或图片的路径,并计算文件行数

    python遍历文件夹下所有文件或图片的路径 代码 指定目录下的指定后缀文件 import glob #获取指定目录下的所有图片 print (glob.glob("\\home\\qiao ...

  3. python怎么读文件夹下的文件夹-python2.7读取文件夹下所有文件名称及内容的方法...

    最近稍稍有点空闲时间,于是重新温习了一下之前学习过的python基础.废话不多说,记录一下自己的所得. 首先,安装什么的不在本人的温习范围,另,本人使用的是windows下的python2.7版本,且 ...

  4. python读取文件夹下所有文件的名称_python2.7 学习之读取文件夹下所有文件名称及内容...

    python2.7 学习之读取文件夹下所有文件名称及内容 最近稍稍有点空闲时间, 于是重新温习了一下之前学习过的 python 基础废话不多说, 记录一下自己的所得 首先, 安装什么的不在本人的温习范 ...

  5. python 获取文件夹所有文件列表_python获取文件夹下所有文件及os模块方法

    python获取文件夹下所有文件 方法一:使用os.listdir import os for filename in os.listdir(r'c:\windows'): print filenam ...

  6. python删除文件夹中的jpg_python删除文件夹下相同文件和无法打开的图片

    前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以写了两个python的小程序用来解决这个问题 删除相同文件: ...

  7. python 统计文件夹下的文件夹/某类型文件的数目

            用代码读取文件时,有时需要统计某文件夹下所有文件的数目,并读取指定数目的文件!我们通常使用python的os模块完成统计工作,具体方法如下: 1.统计某文件夹下的文件夹和文件的总个数( ...

  8. python 打开文件夹所有文件_python遍历文件夹下所有文件

    python遍历文件夹下所有文件的方法:首先打开相应的代码文件:然后通过"for f in files:print(os.path.join(root, f))"方式遍历所有的文件 ...

  9. python 获取文件夹名称大全_python 获取指定文件夹下所有文件名称并写入列表的实例...

    如下所示: import os import os.path rootdir = "./pic_data" file_object = open('train_list.txt', ...

  10. Python 递归检测文件夹下的文件

    Python 递归检测文件夹下的文件. 怕自己忘记记录一下: import os# 查找指定文件夹下所有相同名称的文件 def search_file(dirPath, fileName):dirs ...

最新文章

  1. 编译原理——词法分析器
  2. Golang的日志记录器
  3. xshell下利用SFTP传输文件
  4. 崩管嵌入式还是单片机,盘就完事了
  5. 关于 C 的 arithmetic conversion (进行 算术运算 时的 强制转换规则)
  6. nginx源码分析之内存池实现原理
  7. 初学Oracle的一点心得
  8. 在CentOS7上安装和使用ZooKeeper最新版本(V3.4.12)
  9. C#語法學習二(NameSpace)
  10. 计算机安装时的用户权限,如何设置win10系统使得电脑在安装软件前需要管理员的权限...
  11. ATL COM类之激活
  12. 编译OpenJDK8 arm32的源码库
  13. 信域安全云网产品架构
  14. 腾讯云神图·人脸识别(Face Recognition)常见问题的解答
  15. 邮箱如何设置smtp服务器端口,如何改变你的SMTP端口来允许发送电子邮件
  16. Idea--git合并多次commit为一个(合并提交)--实例
  17. 半导体术语的中英文版本
  18. 内存数据库应用之NBA篮球图文直播室存储设计(Redis版)
  19. 刘群:基于深度学习的自然语言处理,边界在哪里?
  20. DLL load failed while importing _ssl: 找不到指定的模块

热门文章

  1. 渠道分销管理系统解决方案
  2. 全网稀缺,完整链家地图找房的实现(一)
  3. 获取openid失败怎么办_微信小程序openid怎么获取 获取微信openid失败解决方法
  4. STM32系列BSP外设驱动使用教程
  5. xdb 服务_[20200115]监听中没有xdb服务.txt
  6. pb 修改数据窗口种指定字段位置_PB数据窗口对象之字段操作
  7. 关于目标文件系统,文件过大的解决方法
  8. Java 并发编程:轻量级锁和偏向锁详解
  9. xtu oj 1355
  10. 云计算与大数据之间的关系