Python не распознает файл / каталог изображений jpg - PullRequest
0 голосов
/ 23 октября 2018

Я не могу отобразить это изображение в графическом интерфейсе tkinter, поскольку оно не распознает файл или каталог изображений, вот мой код:

import tkinter as tk
from PIL import ImageTk, Image

root = tk.Tk()

path = "krebs.jpg"
img = ImageTk.PhotoImage(Image.open(path))
img.pack()

root.mainloop()

, а вот изображение, о котором идет речь: Рис. Кребса

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Ну, я считаю, что есть более простое решение, которое лучше в целом.Python может использовать ., чтобы сообщить коду, что файл, который вы ищете, находится в том же каталоге, что и ваш код Python.Таким образом, вам не нужно выбирать файл вручную или использовать полный путь к файлу.

2nd Я заметил, что вы пытаетесь pack() изображение в окне, но вы не можете сделать это.Вместо этого добавьте его на этикетку или холст.Просто убедитесь, что ваш файл изображения находится в той же папке, что и ваш .py файл.

Попробуйте это.

import tkinter as tk
from PIL import ImageTk, Image

root = tk.Tk()

path = "./krebs.jpg"
img = ImageTk.PhotoImage(Image.open(path))
lbl = tk.Label(root, image=img)
lbl.pack()

root.mainloop()

Я использовал простое маленькое красное квадратное изображение, которое я использую для тестирования, но здесьрезультаты:

enter image description here

0 голосов
/ 23 октября 2018

Бьюсь об заклад, ваш текущий рабочий каталог не то, что вы думаете.Попробуйте:

import os
os.getcwd()

Убедитесь, что в каталоге (напечатанном os.getcwd()) есть ваше изображение (т.е. перейдите в эту папку и проверьте, есть ли там ваше изображение).Если нет, укажите абсолютный путь к вашему изображению:

path = C:/Users/<user_name>/... .../krebs.jpg

или любой другой полный путь к изображению в вашей ОС.

Кроме того, вы можете переместить изображение в указанную папку.os.getcwd().

Вот трюк, который я все время использую для получения абсолютных путей, когда я пишу скрипты на Python:

import tkinter.filedialog as fd
path = fd.askopenfilename()

Откроется знакомый диалог открытия файла.Используйте диалоговое окно файла, чтобы найти файл, затем нажмите «Открыть», и вы получите полный путь к переменной «путь».

...