手头有一个几万张图片需要进行打乱顺序,并重新命名,使用python来实现

第一步先对文件夹内的文件批量打乱顺序

第二步重新排序

第三步批量重命名

import os ,random , time
def rename():
# 配置
#文件扩展名
filetype = '.png'
#文件名前缀
filename = ''
# 文件名位数,不足的前面补0
zfillNum = 5
# 在这里配置文件夹地址
path = r"C:\Users\xxxx\Desktop\test"
i = 0
filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹)

#先打乱顺序
random.shuffle(filelist)
for files in filelist: #遍历所有文件
Olddir = os.path.join(path, files) #原来的文件路径
if os.path.isdir(Olddir): #如果是文件夹则跳过
continue
filenameRes = str(int(time.time())+random.randint(1000000,88888888))
Newdir = os.path.join(path, filenameRes + filetype) #新的文件路径
os.rename(Olddir, Newdir) #重命名

filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹)
for files in filelist: #遍历所有文件
i = i + 1
Olddir = os.path.join(path, files) #原来的文件路径
if os.path.isdir(Olddir): #如果是文件夹则跳过
continue
filenameNum = str(i).zfill(zfillNum)
filenameRes = filename+filenameNum
Newdir = os.path.join(path, filenameRes + filetype) #新的文件路径
os.rename(Olddir, Newdir) #重命名
return True

if __name__ == '__main__':
rename()