python - Os.walk no recursivo()
non-recursive (4)
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.
Estoy buscando una manera de hacer una caminata os.walk()
no recursiva, tal como funciona os.listdir()
. Pero necesito volver de la misma manera que os.walk()
. ¿Alguna idea?
Gracias de antemano.
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()
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 :}
next(os.walk(...))