2015-09-24 3 views
0

Я пытаюсь написать хост каталога в python, который определяет поиск типа файла. Моя проблема в том, что у меня может быть ссылка на родительскую папку в моей подпапке, в результате чего получается цикл. Есть ли способ преодолеть эту проблему? Мой код выглядит так:Python directory walker pyqt

def _hasMp3(path, fileTypes): 
    if path: 
    childDirs = [root] 
    fileTypes = fileTypes or [] 
    while childDirs: 
     qdir = childDirs.pop() 
     path = unicode(qdir.absolutePath()) 
     path = os.path.normalpath(path) 
    return False 

ответ

2

Получить вычисленный путь каждого каталога и сохранить набор всех тех, кто видел:

seen = set() 
while subDirs: 
    qdir = subDirs.pop() 
    path = unicode(qdir.canonicalPath()) 
    if path in seen: 
     continue 
    seen.add(path) 
+0

Спасибо, что помогли –