python文件重命名工具代码

代码如下:

#filename:brn.py #description: batch replace certain words in file names #use to bat rename the file in a dir(modify the suffix from a to b) for windows vista os import sys import os import fnmatch import re #parse params p=input(“please input work directory(current path for enter):”) if p==’\r’: p=’.’ p=p.rstrip(‘\r’) print (p) while not os.path.exists(p): print (p+’ is not existed.please input the work directory:’) p=input(“please input work directory(current path for enter):”) s=input(“please enter the words which need be modified(must):”) while s==’\r’: s=input(“please enter the words which need be replaced(must):”) s=s.rstrip(‘\r’) d=input(“please enter the words which want to change to(must):”) while d==’\r’: d=input(“please enter the words which want to change to(must):”) d=d.rstrip(‘\r’) try: sure=input(“are you sure to rename the file named *”+s+”*”+” to *”+d+”*”+” in directory “+p+”? y/n:”) sure=sure.rstrip(‘\r’) if sure!=’y’: print (“cancel”) else: for root, dirs, files in os.walk(p, true): for file in files: print (os.path.join(root,file)) if os.path.isfile(os.path.join(root,file)):#only file is file,not a dir ,do this if fnmatch.fnmatch(file, ‘*’+s+’*’): f=str(file).replace(s,d) if p==’.’: command=’move ‘+str(file)+” “+f else: command=”move “+os.path.join(root,file)+” “+os.path.join(root,f) print (command) if os.system(command)==0:#do actual rename print (“rename “+str(file)+” to “+f+” success”) else: print (“rename “+str(file)+” to “+f+” failed”) #else: #print str(file)+” is a directory.omit” except indexerror: print (indexerror.message)

Posted in 未分类