Folder1
|_Folder2
| |_vm1
| |_vm2
| |_vm3
|_vm4
|_vm5
|_vm6
我现在有这个结构,我写的方法是:
def find_vm(folder, vm_name):
for item in folder:
if isinstance(item, my_folder_object):
find_vm(item, vm_name)
if item.name == vm_name:
return item
嵌套文件夹可以是任何深度。此方法无法按预期工作。
我在这里做错了什么?
答案 0 :(得分:0)
你没有在其中一个分支中返回任何内容:
...
...
if isinstance(item, my_folder_object):
val = find_vm(item, vm_name)
if val is not None:
return val
...
...
另外,如果名称在多个子文件夹中,您需要决定该怎么做;