FileNotFoundError: [Errno 2] Нет такого файла или каталога для картинок в Python 3.7 - PullRequest
1 голос
/ 09 апреля 2020

Я новичок в Python. Я пытаюсь открыть изображение, чтобы напечатать его размер и формат. Моя картинка находится в нескольких папках:

  • мои изображения
  • папка с моими Python кодами
  • папка anaconda3\lib\site-packages\PIL

Я уже написал только название картинки, затем точный путь, но ничего не работает (моя картинка в .jpg).

Вот мой код:

from PIL import Image

image = Image.open("v")    
print("nbr of columns and lines", image.size, image.format)
data = list(image.getdata())
print(data[:30]) 

и мое сообщение об ошибке:

runfile ('C: / Users / Optimal Conseil / .spyder-py3 / temp.py', wdir = 'C: / Users / Optimal Conseil /.spyder-py3 ') Traceback (последний последний вызов):

Файл "C: \ Users \ Optimal Conseil.spyder-py3 \ temp.py", строка 4, в изображении = изображение. open ("v")

Файл "C: \ Users \ Optimal Conseil \ anaconda3 \ lib \ site-packages \ PIL \ Image.py", строка 2809, в open fp = builtins.open ( имя файла, "rb")

FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'v'

1 Ответ

0 голосов
/ 09 апреля 2020

Если файл изображения "v" находится в той же папке, что и ваш код python, ваш код должен загрузить его. Ошибка показывает, что отсутствует файл. Я бы порекомендовал проверить наличие расширений файлов (возможно, имя файла - «v.jpg»).
И если ваш файл не находится в папке python и находится в другой папке, самый простой способ - включить полный адрес к вашему файлу изображения:

image=Image.open("full_path_to_file/"+"v")

Тот же подход с лучшей практикой будет выглядеть так:

import os
image=Image.open(os.path.join("full_path_to_file", "v"))

Вы также можете использовать реляционный адрес для файла. «../» приведет вас к одному каталогу над вашим текущим каталогом. Например, если ваша файловая структура каталогов имеет вид:

  • directory
    • |
    • v.jpg
    • подкаталог
      • |
      • your_python_code.py

Вы можете использовать:

image=Image.open("../v")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...