python访问返回的变量

python访问返回的变量,python,caffe,pycaffe,Python,Caffe,Pycaffe,我仍然对python感到不舒服。在深入学习开源代码的实验中,我正在编写一个测试代码,我可以看到它的运行方式如下所示。(使用数据集包和其中的pascal_voc模块,顺便说一句,这是来自py更快的rcnn代码) 我想从返回的字典中提取“box”数组,并用它来绘制一些东西。我尝试了d['box']但在下面给出了错误 >>> d['boxes'] Traceback (most recent call last): File "<stdin>", line 1, in

我仍然对python感到不舒服。在深入学习开源代码的实验中,我正在编写一个测试代码,我可以看到它的运行方式如下所示。(使用数据集包和其中的pascal_voc模块,顺便说一句,这是来自py更快的rcnn代码)

我想从返回的字典中提取“box”数组,并用它来绘制一些东西。我尝试了
d['box']
但在下面给出了错误

>>> d['boxes']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'pascal_voc' object has no attribute '__getitem__'
>d['box']
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“pascal\u voc”对象没有属性“\uuu getitem\uuu”

如何从_load_pascal_annotation的返回值中提取坐标值

我根本不知道您的库,但根据您所展示的,您可能希望将
\u load\u pascal\u注释的结果分配给一个新变量,然后访问字典中的
项。试着这样做:

data = d._load_pascal_annotation('{0:06d}'.format(5))
print(data['boxes'])

但是我要注意的一点是,名称中带有一个前导下划线的方法通常是私有的(例如,它们不是类的公共API的一部分)。您应该使用
d
对象上的某些其他方法或属性,它们将在后台调用
\u load\u pascal\u annotation
(并对其返回值执行适当的操作).

调用
\u load\u pascal\u annotation
方法,但不保留对其返回值的引用

尝试:


>d._load_pascal_注释('{0:06d}'。格式(5))['box']
试试这个,让我看看know@MarlonAbeykoon,那也行。谢谢哦,我现在觉得自己像个傻瓜。谢谢
>>> d['boxes']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'pascal_voc' object has no attribute '__getitem__'
data = d._load_pascal_annotation('{0:06d}'.format(5))
print(data['boxes'])
r_value = d._load_pascal_annotation('{0:06d}'.format(5))
r_value['boxes']