Конкретное имя папки pyvmomi
Борьба с захватом ООП и пывмоми в целом. У вас есть вопрос о том, как назвать конкретную папку по имени - кажется, что имена объектов могут быть папками или виртуальными машинами, и вызов hasattr - лучший способ их различить?
Кроме того, когда я хочу вызвать содержимое определенной папки, я устанавливаю переменную с именем папки и перебираю каждый объект, проверяя совпадение, разве нет лучшего способа, например, вызова конкретного объекта и имя папки? Я не вижу, чтобы это сработало. Вот что у меня сейчас есть:
vmfolder = datacenter.vmFolder
vmfolderList = vmfolder.childEntity
folder = "FooFolder"
for i in vmfolderList:
try:
folderName = i.name
if folderName == folder:
vmfolder = i
print(f"Working in folder: {folderName}")
except:
pass
То, что у меня есть сейчас, не кажется слишком питонным. Я писал код несколько лет назад, но он был полностью процедурным, и все дело в объекте / атрибуте - это борьба - если кто-то порекомендует хороший учебник или ресурс, это будет оценено. Я чувствую, что как только я преодолею это препятствие, я смогу взять любой SDK и работать с ним.
1 ответ
Вместо тестирования с использованием hasattr я бы ожидал, что объекты папок и виртуальных машин будут другого типа. Проверка на тип является полностью питонической.