首页 > 代码库 > python 中文正则表达匹配
python 中文正则表达匹配
需求:由于某个n年前的工具的错误,在复制一批文件的时候产生了大量的"复件xxxxxxx""复件(2)XXXXX"等类似文件,由于目录结构深,文件多,预计在5000万个,但是有多少这种错误的文件不清楚,因此写个脚本遍历删除。
#encoding=utf-8 #author: skybug #date: 2014-05-11 #function: 遍历指目录,删除中文开头的文件名的图片 import os,re cnt = 0 pattern = re.compile(ur"[\u4e00-\u9fa5].*")#定义正则匹配表达式 #pattern = re.compile(ur"[\u590D][u4EF6].*") def walkdir_del(srcdir):#遍历目录 global cnt for parent,dirs,files in os.walk(srcdir): for file in files: infile = os.path.join(parent,file) file = file.decode(‘gb2312‘).encode(‘utf8‘)#将文件名字符串转码 file = unicode(file,‘utf8‘)#同上 match = pattern.match(file)#匹配 if match:#如果匹配 print infile os.remove(infile)#删除 cnt +=1 print "del %s ok!"%infile print "del %d files"%cnt srcdir=os.getcwd() walkdir_del(srcdir)
本文出自 “skybug” 博客,请务必保留此出处http://skybug.blog.51cto.com/132577/1409589
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。