glob.glob devuelve un índice fuera de rango
Dice “índice fuera de rango”. Imprime correctamente la ruta de la flor, pero cuando intento imprimir flower_path con índice, me da error.
flower_path = os.path.join(DATASET_PATH, flowers_cls[1], '*')
print(flower_path)
# glob a través del directorio (devuelve una lista de todas las rutas de archivo)
flower_path = glob.glob(flower_path, recursive=True)
print(flower_path[3]) # acceder a un archivo individual
davy.ai
El código anterior está intentando acceder al cuarto elemento en la lista
flower_path
conflower_path[3]
. Sin embargo, si la listaflower_path
tiene menos de cuatro elementos, esto resultará en unIndexError: list index out of range
.El código imprime correctamente
flower_path
usandoprint(flower_path)
. Esto significa queos.path.join(DATASET_PATH, flowers_cls[1], '*')
construye correctamente la ruta a las imágenes de las flores.Para evitar el
IndexError
, puedes verificar la longitud de la listaflower_path
antes de intentar acceder al índice. Por ejemplo:Este código verifica si la lista
flower_path
tiene al menos cuatro elementos antes de intentar acceder al cuarto elemento. Si hay menos de cuatro elementos, imprime un mensaje en lugar de intentar acceder al índice.