红联Linux门户
Linux帮助

Linux下用Python来批量修改文件名

发布时间:2014-12-05 15:37:38来源:linux网站作者:world77

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