第一步:改成顺序命名
import os
def myrename(path):
file_list=os.listdir(path)
for i,fi in enumerate(file_list):
old_dir=os.path.join(path, fi)
filename=str(i+1)+"."+str(fi.split(".")[-1])
new_dir=os.path.join(path, filename)
try:
os.rename(old_dir, new_dir)
except Exception as e:
print(e)
print("Failed!")
else:
print("SUcess!")
if __name__=="__main__":
path="F:/Inpating-dataset/celeba-hq/train-celeba-256"
myrename(path)
结果:
第二步:前面补0,实现00001开头
import os
import re
import sys
path = r"F:/Inpating-dataset/celeba-hq/train-celeba-256"
filelist = os.listdir(path)
filetype = '.jpg'
for file in filelist:
Olddir = os.path.join(path, file)
if os.path.isdir(Olddir):
continue
# os.path.splitext("path"):分离文件名与扩展名
filename = os.path.splitext(file)[0]
filetype = os.path.splitext(file)[1]
print(filename.zfill(5))
# zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0
Newdir = os.path.join(path, filename.zfill(5) + filetype) # 数字5是定义为5位数,可随意修改需要的
print(Newdir)
os.rename(Olddir, Newdir)
# 复制即可运行
结果: