python实现递归查找某个路径下所有文件中的中文字符
本文实例为大家分享了python实现递归查找某个路径下所有文件中的中文字符,供大家参考,具体内容如下
#-*-coding:utf-8-*- #@description: #@author: #@created:2018/7/21 importre importsys importos reload(sys) sys.setdefaultencoding("utf8") deftranslate(str): out=set() line=str.strip().decode('utf-8','ignore')#处理前进行相关的处理,包括转换成Unicode等 p2=re.compile(ur'[^\u4e00-\u9fa5]')#中文的编码范围是:\u4e00到\u9fa5 zh="".join(p2.split(line)).strip() #zh="\n".join(zh.split())#dsds经过相关处理后得到中文的文本 forsinzh.split(): out.add(s)#经过相关处理后得到中文的文本 returnout defextract_file(path): result=set() try: f=open(path)#打开文件 lines=f.readlines() forlineinlines: string=translate(line) ifstring: result.update(string) exceptExceptionase: pass returnresult defextract(path): result=set() files=os.listdir(path) forfileinfiles: ifnotfile.startswith("."): ifnotos.path.isdir(path+"/"+file):#判断是否是文件夹,不是文件夹才打开ssgsg判断是否是文件夹,不是文件夹才打开 sub_file=extract_file(path+"/"+file) ifsub_file: result.update(sub_file) else: printfile child=extract(path+"/"+file) ifchild: result.update(child) returnresult if__name__=='__main__': path="/Users/common" result=extract(path) res_file=open("result.txt","w") forsinresult: res_file.write(s+"\n")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。