2017-08-08 9 views
0

OOPとpyvmomiを一般的に把握しながら苦労しています。特定のフォルダを名前で呼び出すことについて質問があります。オブジェクト名はフォルダまたはVMである可能性があり、hasattrを呼び出すことがその2つを区別する最善の方法だと思われます。pyvmomi特定のフォルダ名

また、特定のフォルダの内容を呼び出すときに、フォルダの名前を変数に設定し、各オブジェクトをループして一致するかどうかを確認しています。特定のオブジェクトとフォルダ名を呼び出す?私はそれが動作するように見ることができません。ここに私が今持っているものがあります:

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を手に入れてそれを走らせることができるはずです。

答えて

0

hasattrを使用してテストする代わりに、私はフォルダとVMオブジェクトが異なるタイプであると考えます。 Checking for a typeは完全にピジョンソニックである。

関連する問題