背景
最近在做图像分类项目,需要由原始jpg文件统一生成内容固定的同名json文件
思路
先是找到读取文件名的方法,由XXX.jpg去掉.jpg后缀,再字符串衔接.json,最后向json文件中写入固定文件内容。中间想通过正则方法取出文件名,可以实现但是觉得不如函数便于理解,最后还是选择使用maketrans()方法。
代码实现
直接上干货
import os
import json
filelist = os.listdir(".\A类") # 读取A类文件夹下文件列表
filelist.sort() # 文件名列表排序
base_path = ".\A类\\"
dic = {"labels": [{"name": "A类"}]} # 每类图像都是一类固定的标签
label_value = json.dumps(dic) # 字典转换字符串
for name in filelist:
file_realname = name.translate(str.maketrans('', '', '.jpg'))
filename = file_realname + '.json'
full_path = base_path + filename
file = open(full_path,'w')
file.write(label_value)
file.close()