python批量改文件名字,python批量修改文件格式

  python批量改文件名字,python批量修改文件格式

  #编码:utf-8 #批量修改文件名import OS import re import datetime re _ ST=r (\ d)\ \ \ \ s \((\ d)\) #用于匹配旧的文件名,需含分组旧文件名=re。编译(重写)#要修改的目录WORKING _ PATH=r f:\ Gallery #-def rename _ fomat(name): 文件重命名格式组织模块(一般修改这里就可以了)注意:返回类型必须是unicode if name:re _ rn=re _ match _ old _ file _ name。如果重新注册,查找全部(姓名)和re _ rn!=[]:re _ rn=re _ rn[0]num=int(re _ rn)new _ nm=uno.d %(num)返回新nm # - def日志(错误): 错误记录 LOG= LOG _ FILE=open(r ./log.txt , a )live _ info= ===========时间:% s标题:% s路径:% s========== %(日期时间。日期时间。now()、str(error[title])、str(error[index])、)LOG=live _ info errors=error[ error _ paths ]for item in errors:item= % s \ n % item LOG=item LOG=LOG。编码( utf-8 )try:LOG _ file。写(日志)除io错误:打印u 写入日志失败最后:LOG_FILE.close() # - def rename(旧,新): 文件重命名模块返回:0:重命名成功1:新路径存在-1:重命名失败如果不是OS。路径。exists(新):try:OS。重命名(旧的,新的)返回0,除了IOError: print path error:,new return-1 else:return 1 #-def get _ dirs(path): 获取目录列表如果OS。路径。exists(路径):返回OS。list dir(path)else:return-1 #-def get _ input _ result(word,choice): 获取正确的输入结果 correct _ result=set(choice)word====% s \ n[in]: %(word)while True:in _ choice=raw _ input(word)if in _ choice in correct _ result:return in _ choice #-def batch _ rename(index,dirs=[]): 批量修改文件 index=unicode(index)errors=[]if dirs==[]:dirs=get _ dirs(path=index)if dirs and dirs!=[]:for item in dirs:item=unicode(item)new _ name=rename _ fomat(item)if new _ name:old _ pt=u % s \ \ % s %(index,item) new_pt=u%s\\%s% (index,new_name) res_rn=rename(old_pt,new_pt) if res_rn!=0:错误。附加(项目)else:错误。如果,则追加(项目)错误和错误!=[]:打印重命名失败:I,item的日志({ index: index, title: Rename Failed , error_paths: errors,}):print item, ,if I % 5==4:print print else:return-1 #-def batch _ Rename _ test(index): 测试返回过滤结果 index=unicode(index)errors=[]correct=[]dirs=get _ dirs(path=index)if dirs and dirs!=[]:对于x,item in enumerate(dirs):item=unicode(item)new _ name=rename _ fomat(item)if new _ name:正确。append(item)old _ pt=u % s \ \ % s %(index,item) new_pt=u%s\\%s% (index,new_name) print [%d]O: %s % ( x 1,old_pt) print [%d]N: %s % ( x 1,new_pt) else: errors.append(item)如果出现错误和错误!=[]:print Not Match: logs({ index :index, title: Not Match , error_paths: errors,}) for i,item in enumerate(errors):print item, ,if I % 5==4:print print return correct #-def manage(index): 程序组织块 file _ filter=batch _ rename _ test(index)Do _ choice=get _ input _ result(word= Do with this(y/n),choice=[y , n ])if Do _ choice== y :batch _ rename(index,dirs=file_filter) print 完成!if _ _ name _ _= _ _ main _ _ :PATH=WORKING _ PATH manage(index=PATH)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: