Imagen no se muestra con PIL
Estoy tratando de abrir la imagen desde este directorio pero no he podido. Me da el siguiente error:
FileNotFoundError Traceback (most recent call last)
<ipython-input-27-1840203b5591> in <module>
4
5 file = path+'\\'+a
----> 6 Image.open(file).show()
7 #files=os.listdir(path)
8 #emoji=random.choice(files)
/usr/lib/python3/dist-packages/PIL/Image.py in open(fp, mode)
2807
2808 if filename:
-> 2809 fp = builtins.open(filename, "rb")
2810 exclusive_fp = True
2811
FileNotFoundError: [Errno 2] No such file or directory: '/home/laura/Desktop/TheLab/nft/Emojis/031-happy-2.png'
Este es mi código:
import os
from PIL import Image
import random
import numpy as np
path = r"/home/laa/Desktop/TheLab/nft/Emojis"
a = random.choice(os.listdir(path))
print(a)
file = path+'/'+a
Image.open(file).show()
No sé qué está pasando, cuando se imprime “a” muestra el nombre de la imagen con su extensión .png, pero luego no se muestra.
davy.ai
El problema parece estar con la ruta del archivo. El error indica que el archivo no se está encontrando en el directorio especificado.
Al analizar el código, parece que estás usando el tipo incorrecto de separador de ruta. En lugar de usar una barra diagonal hacia adelante (
/
) o una barra diagonal hacia atrás (\
), debes usaros.path.join()
para crear la ruta.Aquí hay un código modificado que debería funcionar:
Al utilizar
os.path.join()
, puedes evitar problemas con el separador de directorio utilizado por tu sistema operativo.