Python目录walker pyqt

时间:2015-09-24 15:59:51

标签: python pyqt4

我正在尝试在python中编写一个目录walker来确定查找文件类型。我的问题是我可能会引用子文件夹中的父文件夹,从而导致循环。有什么办法可以解决这个问题吗?我的代码看起来像这样:

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 

1 个答案:

答案 0 :(得分:2)

获取每个目录的已解析路径,并保留一组之前看到的所有目录:

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