2016-09-22 5 views
1

В моем коде Python, у меня есть этот вызов внутри ограниченного метода:значения печати в Python отладчик

instances = instance_objects.InstanceList().get_by_host(ctxt, self.host) 

Когда я отладки с помощью отладчика Python (PDB) и я выдаю p instances я получаю этот выход:

InstanceList(objects=[Instance(bdfbf658-da32-445d-9560-56d496abcb9d)]) 

Когда я выполняю p instances.objects я получаю этот выход:

[Instance(
access_ip_v4=None, 
access_ip_v6=None, 
architecture=None, 
auto_disk_config=False, 
availability_zone=None, 
cell_name=None, 
cleaned=False, 
vcpus=1, 
)] 

Как я могу р Измените значение vcpus в pdb?

+0

Не значение 1? Похоже, что вы получаете эти данные при выпуске 'p examples.objects' – hammygoonan

+0

Да, вы правы. Но я хотел бы иметь только распечатку значения 1. Дело в том, что этот «экземпляр» намного длиннее того, что я на самом деле перечислял. То, что вы видите, лишь малая его часть. – RichArt

+0

Btw: это диктофон в списке? Или кортеж в списке? – RichArt

ответ

1

Попробуйте

p instances.objects[0].vcpus 
+0

Это сделало трюк, спасибо большое! – RichArt

+0

Просто короткий вопрос: это кортеж в списке? Я имею в виду, что это не может быть dict в списке, потому что у dict есть фигурные скобки. Правильно? – RichArt

+0

Он выглядит как экземпляр класса с именем 'Instance'. Похоже, что 'vcpus' является атрибутом класса. Что такое вывод 'p type (instance.objects [0])'? –