Я извлекаю данные из vcenter и печатаю значения для каждого узла exs. Проблема в том, что по какой-то причине я печатаю несколько значений дважды. Мне нужно, чтобы убедиться, что я печатать одни и те же значения только один раз:как вы печатаете значения одни
Вот пример результатов установлено:
name => web01 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-648 summary.quickStats.overallCpuUsage => 3149 summary.quickStats.overallMemoryUsage => 87051
name => web02 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-658 summary.quickStats.overallCpuUsage => 4909 summary.quickStats.overallMemoryUsage => 144503
name => web03 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-664 summary.quickStats.overallCpuUsage => 2659 summary.quickStats.overallMemoryUsage => 123063
name => web04 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-670 summary.quickStats.overallCpuUsage => 1445 summary.quickStats.overallMemoryUsage => 111676
name => web05 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-856 summary.quickStats.overallCpuUsage => 983 summary.quickStats.overallMemoryUsage => 116179
name => web05 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-856 summary.quickStats.overallCpuUsage => 983 summary.quickStats.overallMemoryUsage => 116179
name => web06 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-858 summary.quickStats.overallCpuUsage => 1073 summary.quickStats.overallMemoryUsage => 141572
name => web06 summary.hardware.cpuMhz => 2194 summary.hardware.memorySize => 274707304448 summary.hardware.numCpuCores => 16 summary.host => host-858 summary.quickStats.overallCpuUsage => 1073 summary.quickStats.overallMemoryUsage => 141572
Я обновить код, как это:
for item in results:
props = dict((p.Name, p.Val) for p in item.PropSet)
name = props['name']
tt=int(time.time())
Ballooned_Memory = props.get('summary.quickStats.balloonedMemory')
if Ballooned_Memory is not None:
Metric="vSphereGuest.ballooned_memory"
print Metric,tt,Ballooned_Memory,"vSphereGuest="+name.replace('"', ''),"source=vSphereGuest","dc=dc1"
Cpu_Demand = props.get('summary.quickStats.overallCpuDemand')
if Cpu_Demand is not None:
Metric="vSphereGuest.Cpu_Demand"
print Metric,tt,Cpu_Demand,"vSphereGuest="+name.replace('"', ''),"source=vSphereGuest","dc=dc1"
It проходит через каждый набор результатов и выводит значения. Кажется, остался один вопрос. Если набор результатов включает в себя дубликаты (он исходит из такого источника), я дважды распечатываю тот же набор данных. Как я могу изменить это, так что я печатаю только один, независимо от того, сколько из того же набора результатов поступает из источника?
пожалуйста исправить отступы –
Ваш ключ '' r.name' + p.Name'? –
@ Micheled'Amico, я обновил оригинальный пост. – user1471980