Python# 批量修改文件名

###

版本1和版本2的区别就是一个会按照图片原来的顺序,一个直接给所有的文件重新命名。

###

版本1

说明:修改os.listdir(path)下面的文件名,并且按 Newdir=os.path.join(path,'img'+numtag +filetype) 这个命名方式给文件重新命名。

import os;
def rename():
    path=r"D:\PycharmProjects\untitled\day1\testdd"
    # os.listdir(path).remove('list1.py') #该文件夹下所有的文件(包括文件夹)
    filelist=os.listdir(path)  #该文件夹下所有的文件(包括文件夹)
    del filelist[-1]           #去掉最后一个执行文件
    print(filelist)
    num = 1
    for files in filelist:#遍历所有文件
        Olddir=os.path.join(path,files)#原来的文件路径
        print (Olddir)
        if os.path.isdir(Olddir):#如果是文件夹则跳过
            continue
        filename=os.path.splitext(files)[0] #文件名
        # print(filename)
        filetype=os.path.splitext(files)[1] #文件扩展名
        numtag= str(num).zfill(3)
        Newdir=os.path.join(path,'img'+numtag +filetype)  #新的文件路径这里写入的是你新的文件名.
        print(Newdir)
        num +=1
        os.rename(Olddir,Newdir)  #重命名
rename()

 

版本2

填充文件名,比如文件名是img02.jpg  ------> 可以修改文img002.jpg   文件名2的标签不会变。

import os
def rename():
    path=r"D:\PycharmProjects\untitled\day1\testdd"
    filelist=os.listdir()
    prefix_length=10
    print(filelist)
    for i in range(len(filelist)-1):
        if len(filelist[i])==prefix_length:
            continue
        else:
            # print(filelist[i])
            # print(filelist[i][3:])
            d=filelist[i][3:].zfill(7)
            # print(d)
            Newdir = os.path.join(path, 'img'+ d);  # 新的文件路径
            print(Newdir)
            os.rename(filelist[i],Newdir)


rename()

 

posted @ 2017-08-09 18:26  陈奕迅-可以了  阅读(242)  评论(0编辑  收藏  举报