1
Folder1
|_Folder2
| |_vm1
| |_vm2
| |_vm3
|_vm4
|_vm5
|_vm6
一個項目我有這樣的結構,現在我寫的方法是:Python的遞歸找到文件夾或子文件夾
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
嵌套的文件夾可以是任何深度。此方法未按預期工作。
我在這裏做什麼錯?
這是一個練習,瞭解遞歸?你是否嘗試過使用'os.walk()'而不是?例如,'vm = next(os.path.join(path,d)for path,dirs,_ in os.walk(folder)for d in dirs if d == vm_name)' – jfs 2014-10-22 10:17:33
您應該使用調試器或至少打印本地化錯誤。 – Andrey 2014-10-22 10:17:59
從來沒有聽說過'os.walk'。肯定會嘗試使用它。 – Amby 2014-10-22 10:22:34