#coding=gbk
#Findthe every dir, if 01.rm exist in it, then rename it.#!/usr/bin/python
'''''
Utilitiesof file & directories.'''
importosimportreimportstringimporttime#Get theall files & directories in the specified directory (path).
defget_recursive_file_list(path):
current_files=os.listdir(path)
all_files=[]for file_name incurrent_files:
full_file_name=os.path.join(path,file_name)
all_files.append(full_file_name)ifos.path.isdir(full_file_name):
next_level_files=get_recursive_file_list(full_file_name)
all_files.extend(next_level_files)returnall_filesdefneed_rename(filename):if notos.path.isfile(filename):returnFalse
base_filename=os.path.basename(filename)
pattern= re.compile("^[\d]{1,3}.jpeg$")ifpattern.match(base_filename):#print base_filename
returnTrueelse:print "no"
returnFalsedefrename(filename):
old_filename=filename
base_filename=os.path.basename(filename)
dir_name=os.path.dirname(filename)#print "%s ----------- %s" % (dir_name, base_filename)
#story_name = os.path.basename(dir_name)
#print "story name: ", story_name
#new_filename = os.path.join(dir_name, story_name[3:] + " " + base_filename)
AllName = filename.split('/')[-1]
digit= AllName.split('.')[0]
newDigit= string.atoi(digit)-4new_filename= dir_name + "/" +str(newDigit)+".jpeg"
#os.rename(old_filename, new_filename)
#os.system("mv "+old_filename +" "+ new_filename)
time.sleep(3)print "%s ==> %s" %(old_filename, new_filename)defnumeric_compare(x, y):
xAllName= x.split('/')[-1]
xdigit= xAllName.split('.')[0]
yAllName= y.split('/')[-1]
ydigit= yAllName.split('.')[0]return string.atoi(xdigit) -string.atoi(ydigit)
top_dir= "/mnt/tishare/web/pdf/1125"all_files=get_recursive_file_list(top_dir)
flag=Trueprint(sorted(all_files))#print(sorted(all_files, cmp=numeric_compare))
for file inall_files:ifflag:
os.chdir(top_dir)
flag=Falseif notneed_rename(file):continuerename(file)