Python# 批量修改文件名

*爱你&永不变心* 提交于 2020-03-29 04:43:20

###

版本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()

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!