Colección de citas famosas - Diccionario de frases chinas - ¿Cómo recorrer todos los archivos en un directorio específico en Python?

¿Cómo recorrer todos los archivos en un directorio específico en Python?

Por ejemplo, hay dos archivos a.txt y b.txt en el directorio C:\TDDOWNLOAD, una subcarpeta en el directorio c:\tddownload\sub1 y dos archivos c.txt y d.txt.

1.os.walk

Os.walk() devuelve una tupla que contiene tres elementos: la ruta actual, el nombre de la subcarpeta y la lista de archivos.

& gt& gt& gtImportar sistema operativo

& gt& gt& gtDefinir diversión (ruta):

...Para el directorio raíz en os.walk, Directorios y archivos (ruta):

...Para fn en archivos:

...Imprimir el directorio raíz, fn

...

& gt& gt& gtFun(r'C:\TDDOWNLOAD ')

c:\TDDOWNLOADa.txt

c:\TDDOWNLOADb.txt

C :\TDDOWNLOAD\sub1 c.txt

C:\TDDOWNLOAD\sub1 d.txt

& gt& gt& gt

2 .Glob Global

Glob.glob() solo acepta un parámetro, que es tanto una ruta como un patrón coincidente, y el valor de retorno es una lista. Tenga en cuenta que glob.glob() no puede penetrar directamente en las subcarpetas, por lo que debe manejarlo usted mismo:

& gt& gt& gtDefinición divertida (ruta):

...Para glob.glob fn(path+OS . sep+' *):# ' * ' significa hacer coincidir todos los archivos.

...if os.path.isdir( fn ): #Si el resultado es una carpeta.

...fun(fn) #recursión

...else:

...imprimir fn

...

& gt& gt& gtFun(r'C:\TDDOWNLOAD ')

C:\TDDOWNLOAD\a.txt

C:\TDDOWNLOAD\b.

C:\TDDOWNLOAD\sub1\c.txt

C:\TDDOWNLOAD\sub1\d.txt

& gt& gt& gt

* ' es un patrón de coincidencia, lo que significa que coincide con todos los archivos. Sólo entonces se podrán encontrar las subcarpetas para poder explorar el siguiente nivel de archivos de forma recursiva.