#-*- coding:utf-8 -*-
#file:BatchRename.py
#
import os
perfix='python' #perfix爲重命名後的文件其實字符串
length=2 #length爲除去perfix後,文件名要達到的長度
base=1 #文件名的起始數
format='txt' #文件的後綴名
#函數PadLeft將文件補全到指定長度
#str爲要補全的字符
#num爲要達到的長度
#padstr爲達到長度所添加的字符
def PadLeft(str,num,padstr):
stringlength=len(str)
n=num-stringlength
if n>=0:
str=padstr*n+str
return str
#爲了避免用戶誤操作,這裏先提示用戶
print 'the files in %s will be renamed' % os.getcwd()
input=raw_input('press y to continue\n') #獲取用戶輸入
if input!='y': #判斷用戶輸入,以決定是否執行重命名操作
exit()
filenames=os.listdir(os.curdir) #獲得目錄中的內容
#從基數減1,爲了使下邊的i=i+1在第一次執行時等於基數
i=base-1
for filename in filenames:
i=i+1
#判斷當前路徑是否爲文件,並且不是"rename.py"
if filename!="BatchRename.py" and os.path.isfile(filename):
name=str(i); #將i裝換成字符
name=PadLeft(name,length,'0') #將name補全到指定長度
t=filename.split('.') #分割文件名,以檢查其是否是所要修改的類型
m=len(t)
if format=='': #如果未指定文件類型,則更改當前目錄中所有文件
os.rename(filename,perfix+name+'.'+t[m-1])
else:
if t[m-1]==format:
os.rename(filename,perfix+name+'.'+t[m-1])
else:
i=i-1 #保證i連續
else:
i=i-1 #保證i連續
python系統編程之批量重命名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.