Modo transversal de Python

El recorrido de Python es muy importante en el programa. Obtenga más información sobre el modo de recorrido, que se puede aplicar a la distribución de tareas y la lectura y escritura de datos.

Python recorre recursivamente el directorio:

import os 

def getAllDirRE (ruta, sp = ""): # Obtenga
todos los archivos en el directorio actual
filesList = os.listdir (ruta) #Procesa
cada archivo
sp + = ""
para fileName en filesList: #Determine
si es una ruta ( Use la ruta absoluta)
fileAbsPath = os.path.join (ruta, nombre de archivo)
si os.path.isdir (fileAbsPath):
print (sp + "directorio:", nombre de archivo ) #
llamada
recursiva getAllDirRE (fileAbsPath, sp)
más:
print ( sp + "Archivo normal:", fileName)

getAllDirRE (r "C: \ Users \ xlg \ Desktop \ Python-1704 \ day09 \ temp \ dir")


Directorio transversal recursivo de simulación de pila de Python (recorrido transversal):
import os 

def getAllDirDE (ruta):
stack = []
stack.append (ruta) #Procesa la

pila y finaliza el ciclo cuando la pila está vacía
mientras len (stack)! = 0: #Elimina
datos de la pila
# []
dirPath = stack.pop ()
#print (dirPath) # Todos los
archivos en el directorio
filesList = os.listdir (dirPath)
#print (filesList) #Procesa
cada archivo, si es un archivo normal, imprímelo , si es un directorio, entonces el directorio Dirección push stack
para fileName en filesList:
fileAbsPath = os.path.join (dirPath, fileName)
si os.path.isdir (fileAbsPath): #Si el
directorio está en la pila,
print ("directorio:" + fileName)
stack.append (fileAbsPath )
# ["B", "E", "F"]
de lo contrario: #Imprimir impresión de
archivo común
("ordinario:" + nombre de

archivo ) getAllDirDE (r "C: \ Users \ xlg \ Desktop \ Python-1704 \ day09 \ temp \ dir")


Directorio transversal de la extensión de Python (cola):
import os 
import collections

def getAllDirQU (ruta):
queue = collections.deque ()
# en la cola
queue.append (ruta)
mientras len (queue)! = 0: #out
of
data de la cola dirPath = queue.popleft ()
# descubre todo archivo
filesList = os.listdir (dirpath)

de nombre de archivo en filesList:
# absoluta ruta
fileAbsPath = os.path.join (dirpath, nombre de archivo)
# determinar si el directorio es un directorio en en el equipo, no se imprime
si os.path. isdir (fileAbsPath):
print ("Directorio:" + fileName)
queue.append (fileAbsPath)
else:
print ("Archivo ordinario:" + fileName)

getAllDirQU (r "C: \ Users \ xlg \ Desktop \ Python-1704 \ day09 \ temp \ dir")
 
 

Supongo que te gusta

Origin www.cnblogs.com/mumu1/p/12708277.html
Recomendado
Clasificación