我們在維護系統的時候,有時候遇到需要批量修改一個文件夾下的所有文件名,這個時候,如果用人工手動的去修改的話,那就太沒有效率了,這個時候我們需要一個腳本來完成我們的任務,當然用shell,perl也可以完成,今天這裡介紹的是用python來解決這個問題,我們假設在/root/test/下面有4個文件,他們的名字分別是
text1.txt,text2.txt,text3.txt,text4.txt,我們需要把他們批量修改掉文件名,下面我們來看下代碼:
#!/usr/bin/env python
import os
import shutil
import time
#dir=raw_input("please input which Directory-Name to Rename:")
#可以寫成提示你輸入文件夾的名字和路徑
dir = "/root/test/"
#這裡是預先設置好的需要修改的文件夾,可以隨便修改
if os.path.isdir(dir): # 判斷是否存在路徑
print ("Directory is exit")
else:
print ("Directory is not exit,please input right dir....")
#如果不存在,就提示。。。
time.sleep(5) #程序休眠5秒
exit() #程序自動退出
filelist=[]
filelist=os.listdir(dir) #得到文件名
#print filelist
for i in filelist:
NewFile=i.replace("text","re")
#新的更名後的文件名,可以隨便更換,這裡是把”text“更改為“re”
print NewFile #打印文件名,用於測試,其實可以注釋掉
shutil.move(dir+i,dir+NewFile) #核心語句,開始修改
#正式修改,千萬一定要加上前面的dir這個路徑,否則會報錯,如果感興趣,可以試驗下,不加路徑是啥後果。。。