怎么建商业网站,江西省建设工程安全质量监督管理局网站,移动网站开发教学大纲,苏州自助建站系统前言 作者在读取json文件的时候出现上述报错#xff0c;起初以为是自己json文件有问题#xff0c;但借助在线工具查看后发现没问题#xff0c;就卡住了#xff0c;在debug的过程中发现了json文件读取的一个小坑#xff0c;在此分享一下
解决过程
原代码
with open(anno…前言 作者在读取json文件的时候出现上述报错起初以为是自己json文件有问题但借助在线工具查看后发现没问题就卡住了在debug的过程中发现了json文件读取的一个小坑在此分享一下
解决过程
原代码
with open(annotations_file) as f:lenth len(json.load(f)[annotations])#print(json.load(f)[annotations])if is_train:data json.load(f)[annotations][0:int(lenth*0.8)]else:data json.load(f)[annotations][int(lenth*0.8):]
乍一看这个代码没有什么问题但是作者发现lenth可以拿到数据但是data执行时会报错这就很奇怪两行代码关于json文件读取的操作是一致的为什么就是不行后边作者加了print发现也会报错因此得到结论在一个with里不能加载两次
修改后代码
with open(annotations_file) as f:data json.load(f)[annotations]length len(data)if is_train:data data[:int(length * 0.8)]else:data data[int(length * 0.8):]
问题解决