文件分类python实现
最近搭了个音乐云服务器,为了下载歌曲,特意开了个会员。但歌曲下载下来,除了mp3格式以外,还有ncm格式的文件。
试过把ncm的文件放到服务器上面,发现解析不出来,得进行格式转换。因此就要对下载下来的歌曲进行分类,mp3格式的复制到一个文件夹内,ncm格式的复制到另一个文件夹内,上传时MP3文件夹内的直接上传,ncm格式文件夹内的所有先进行格式转换,再进行上传。
手动进行分类太过麻烦,而且容易出错,后面想到用脚本来处理。刚开始写了个.bat的程序,发现文件名中特殊字符如韩文就识别不出来,后面改为用python实现。以下为脚本详细。
import os
from shutil import copyfile
# 当前路径
pwd = os.getcwd()
# 存放ncm格式的文件夹
before = os.path.join(pwd,"before")
# 存放MP3格式的文件夹
mp3 = os.path.join(pwd,"mp3")
def getFiles(dir):
for root, dirs, files in os.walk(dir):
return files
# 取出ncm格式的文件
files = list(filter(lambda x: ".ncm" in x, getFiles(pwd)))
i=0
for file in files:
source_file = os.path.join(pwd,file)
temp_file = os.path.join(before,file)
if os.path.exists(temp_file):
print(temp_file + " 已存在")
else:
i+=1
print(temp_file + " 不存在,进行复制")
copyfile(source_file, temp_file)
print("共复制了%d个ncm文件"%i)
# 取出mp3格式的文件
mp3s = list(filter(lambda x: ".mp3" in x, getFiles(pwd)))
j=0
for file in mp3s:
source_file = os.path.join(pwd,file)
temp_file = os.path.join(mp3,file)
if os.path.exists(temp_file):
print(temp_file + " 已存在")
else:
j+=1
print(temp_file + " 不存在,进行复制")
copyfile(source_file, temp_file)
print("共复制了%d个mp3文件"%j)还没有评论,来说两句吧
