Os.walk no recursivo ()

Estoy buscando una manera de hacer una caminata os.walk() no recursiva, al igual que os.listdir() funciona. Pero necesito volver de la misma manera que os.walk() . ¿Alguna idea?

Gracias de antemano.

 next(os.walk(...)) 

Agregue un break después de los nombres de archivo para el bucle:

 for root, dirs, filenames in os.walk(workdir): for fileName in filenames: print (fileName) break #prevent decending into subfolders 

Esto funciona porque (por defecto) os.walk primero enumera los archivos en la carpeta solicitada y luego pasa a las subcarpetas.

Mi solución un poco más parametrizada sería esta:

 for root, dirs, files in os.walk(path): if not recursive: while len(dirs) > 0: dirs.pop() //some fency code here using generated list 

Editar: corrige, si / mientras que el problema. Gracias, @Dirk van Oosterbosch :}

Bueno, lo que Kamiccolo quería decir era más en línea con esto:

 for str_dirname, lst_subdirs, lst_files in os.walk(str_path): if not bol_recursive: while len(lst_subdirs) > 0: lst_subdirs.pop()