我有以下代码:
def main():
content = si.RetrieveContent()
esx_vm = {}
search_index = si.content.searchIndex
for child in content.rootFolder.childEntity:
if hasattr(child, 'vmFolder'):
datacenter = child
vmFolder = datacenter.vmFolder
vmList = vmFolder.childEntity
for vm in vmList:
vmname = PrintVmInfo(vm)
if vmname is not None:
hostname = vmname
vm = si.content.searchIndex.FindByDnsName(None, hostname, True)
try :
ESX = vm.runtime.host.name
except :
pass
esx_vm.update({ESX:hostname})
print(esx_vm)
if __name__ == "__main__":
main()
代码应该创建一个映射esx
到vm
的字典,格式如下:
{'esx1': 'vm1'}
但是我只得到一个键值{'esx1': 'vm1'}
,而不是所有的esx:vm
映射。我例外地得到:
{'esx1': 'vm1','esx2': 'vm2','esx3': 'vm3','esx4': 'vm4'}
等等。你知道吗
有什么建议如何得到字典的正确值吗?你知道吗
您可能需要在“for循环”中更新ESX值。但是它恰好在外部,这就是为什么dict中有一个键。请添加ESX键作为for循环的一部分。类似这样的东西(内部为循环)
相关问题 更多 >
编程相关推荐