我是python的新手,我一直在尝试遍历包含大量具有一定深度的子目录的大目录。

直到现在,我直到这段代码。

for dirpath, subdirs, files in os.walk("//media//rayeus//Datos//Mis  Documentos//Nueva Carpeta//", topdown=True):
   for name in files:
      f = os.path.join(dirpath, name)
      print f

   for name in subdirs:
      j = os.path.join(dirpath, name)
      print j


想法是使用迭代在目录内结构的excel文件中进行清单清点。

问题是,如果我不带“ Nueva carpeta”就走同样的路,那就完美了……但是当我添加“ Nueva Carpeta”时,脚本运行没有错误,但不返回任何内容

最佳答案

import os

def crawl(*args, **kw):
    '''
    This will yield all files in all subdirs
    '''
    for root, _, files in os.walk(*args, **kw):
        for fname in files:
            yield os.path.join(root, fname)


for fpath in crawl('.', topdown=1):
    print fpath

关于python - 使用os.walk在python中进行迭代未返回期望值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32160138/

10-16 18:55