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


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

相关内容