关于字典的脚本小练习

今天写了一个脚本,主要是关于字典的操作,写得比较笨拙还慢,在这里特此记录一下。

问题是这样的:

我有一个json文件,内容是一个字典,它长这样:
{
“01_University_Canteen/IMG_01_01.jpg”:XXX
“01_University_Canteen/IMG_01_02.jpg”:XXX

“11_Shenzhen_Library/IMG_11_01.jpg”:XXX

“13_University_Playground/IMG_13_30.jpg”:XXX
}
现在问题是,我想把01-10放在一个json文件中,11-13放到一个json文件中。

我的脚本是这样解决的:

"""本脚本用来将train集分成新的train和test, train为1-10的图片,test为11-13的图片,这样方便后面的实验"""
import json

# TODO:在分割vehicle类时记得修改person为vehicle
annopath = "../data/PANDA_IMAGE_P/image_annos/person_bbox_train.json"
# TODO:需要手动生成test_path的json文件
train_path = "../data/PANDA_IMAGE_P/image_annos/person_bbox_train_C.json"
test_path = "../data/PANDA_IMAGE_P/image_annos/person_bbox_test_C.json"

train_dict = {}
test_dict = {}
with open(annopath, 'r') as f:
    data = json.load(f)
for key, values in data.items():
    image_num = int(key[:2])
    if image_num >= 11:
        test_dict[key] = values
    else:
        train_dict[key] = values

with open(test_path, 'w') as f:
    json.dump(test_dict, f, indent=4)

with open(train_path, 'w') as f:
    json.dump(train_dict, f, indent=4)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值