将 Imagenet 图像文件夹按照类别编号命名

ImageNet是伟大的图像识别数据库

但是其中各类别图像的文件夹名称让强迫症患者难以忍受

遂码了个改变类别文件夹名称为编号的小程序

 

###

imagenet_class_index.json 是Imagenet图像的类别标注json文件

Imagenet文件夹中放置解压好的1000个文件夹

import json
import os

#打开并读取json文件
file=open("imagenet_class_index.json",'r')
load_dict = json.load(file)

print(load_dict)

#创建保存键值的字典
class_dict={}
for item in load_dict:
    #以原始名称为 键 ,类别序号为 值 ,建立字典内容
    class_dict[load_dict[item][0]]=item

#读取Imagenet文件夹列表
ImageNet_Path='Imagenet'
dir_list=os.listdir(ImageNet_Path)

for dir_name in dir_list:
    #获取字典中以该文件夹名称为键的值(有可能不存在)
    class_index_in_str=class_dict.get(dir_name)
    if class_index_in_str is None:
        continue
    else:
        #执行linux下的重命名文件夹
        command = 'mv '+os.path.join(ImageNet_Path,dir_name)+' '+os.path.join(ImageNet_Path,class_index_in_str)
        os.system(command)

你可能感兴趣的:(Python,Linux)