和大多同学一样在制作VOC训练集时,在JPEMImages的这一块的文件命名存有疑惑,通过爬虫不难获得数据集,但在修改文件命名时,会出现如下情况

我们用循环本意是想将文件命名为1,2,3…,10,11,12,13…,100,101…,但是遍历这些文件时,顺序就会变成1,10,100,101,…109,11,…,19,…,2,20,200,…。
那么怎么解决这类问题呢?
代码奉上!
import os
import re
import sys
#为了示例方便,将待修改与当前工作目录取同一个
def ReName():
fileList = os.listdir(r"F://JPEGImages") #待修改文件夹
print("修改前:"+str(fileList)) #修改前的文件
currentPath = os.getcwd() #得到进程当前工作目录
os.chdir(r"F://JPEGImages") #将当前工作目录修改为待修改文件夹的位置
for i in range(0,len(fileList)):
os.rename(fileList[i],str(("%05d"%i))+'.'+'jpg')#文件重新命名
# 如果想实现000000~999999,只需将这里的5改为6,诸如此类。
print("\n")
os.chdir(currentPath) #改回程序运行前的工作目录
sys.stdin.flush() #更新
print("修改后:"+str(os.listdir(r"F://JPEGImages"))) #修改后的文件
结果如图所示:


本文介绍了一种在制作VOC训练集时,如何正确地对JPEGImages文件夹内的图片进行重命名的方法,避免了文件名排序混乱的问题。通过使用Python脚本,可以将文件名规范地设置为00001.jpg, 00002.jpg...这样的格式,确保了在后续处理中文件的正确排序。
1760

被折叠的 条评论
为什么被折叠?



