Python batch renaming, change 0 to 000000, and digits to 6 digits

Sometimes saved pictures or other files are named as:
xxx0.jpg
xxx1.jpg
xxx2.jpg
xxx3.jpg
xxx4.jpg
xxx5.jpg

but some computer software reads these files in this order:
xxx0.jpg
xxx1 .jpg
xxx10.jpg
xxx101.jpg
xxx102.jpg
xxx103.jpg
...
will cause some trouble, use python to rename these files to the following format:
xxx000000.jpg
xxx000001.jpg
xxx000002.jpg
xxx000003.jpg
xxx000004.jpg jpg
xxx000005.jpg

import os
path = "需要重命名的文件所在文件夹"
filelist = os.listdir(path)
filelist.sort()
for file in filelist:
    Olddir=os.path.join(path,file)
    if os.path.isdir(Olddir):
        continue
    filename=os.path.splitext(file)[0]  #文件名 例如img0
    filename=filename[3:]  #忽略文件名前3位 取后面数字字符串
    filetype = os.path.splitext(file)[1]  #文件后缀名 例如.jpg
    Newdir=os.path.join(path,"xxx"+filename.zfill(6)+filetype)  #xxx可改为任意前缀,后面是6位整数
    os.rename(Olddir,Newdir)

Guess you like

Origin blog.csdn.net/baidu_41774120/article/details/126379128