0

努力掌握 OOP 和 pyvmomi。对按名称调用特定文件夹有疑问 - 对象名称似乎可以是文件夹或 VM,调用 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

我现在所拥有的感觉不是很pythonic。几年前我曾经写过代码,但它完全是程序性的,整个对象/属性的事情都是一场斗争——如果有人也推荐一个好的教程或资源,我将不胜感激。我觉得一旦我克服了这个障碍,我应该能够拿起任何 SDK 并使用它运行。

4

1 回答 1

0

我不希望使用 hasattr 进行测试,而是希望文件夹和 VM 对象属于不同的类型。 检查类型完全是pythonic。

于 2017-08-08T17:24:21.960 回答