我们在维护系统的时候,有时候遇到需要批量修改一个文件夹下的所有文件名,这个时候,如果用人工手动的去修改的话,那就太没有效率了,这个时候我们需要一个脚本来完成我们的任务,当然用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这个路径,否则会报错,如果感兴趣,可以试验下,不加路径是啥后果。