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这个路径,否则会报错,如果感兴趣,可以试验下,不加路径是啥后果。。。

相关推荐