前言:需要对某目录下的文件进行分类,目录是中文名字就会报错,偶尔会手动修改文件名字,不太方便
解决办法:使用unicode()对路径进行处理
举例:
未进行处理前,该目录下的文件中文名称也是乱码显示的。
处理后,中文目录和文件名都ok了
根据后缀名对文件分类的小脚本:
# encoding=utf-8
import os
import shutil
path='F:\图片处理'
upath=unicode(path,'utf-8')
dirs=os.listdir(upath)
for item in ['jpg','bmp','tif']:
path_new=os.path.join(upath,item)
if os.path.exists(path_new)==False:
os.makedirs(path_new)
# print path_jpg
for dr in dirs:
# print dr
idx=dr.split('.')
print idx[-1] #有的文件名1014342667.nh0001_s.jpg有一个或者多个. 所以
#选取最后一个
if idx[-1]=='jpg':
shutil.move(os.path.join(upath,dr),os.path.join(upath,'jpg'))
elif idx[-1]=='bmp':
shutil.move(os.path.join(upath,dr),os.path.join(upath,'bmp'))
elif idx[-1]=='tif':
shutil.move(os.path.join(upath,dr),os.path.join(upath,'tif'))