Загрузка изображения из папки, которая находится в той же папке, что и программа - PullRequest
0 голосов
/ 05 сентября 2018

Мой файл работает над моей программой. Однако я не уверен, как загрузить изображение из файла, который находится в определенной папке. Пока мой следующий код, который может получить изображение только в той же папке, что и сам файл программы.

from tkinter import *

root = Tk()

canvas = Canvas(root, width=500, height=500)
canvas.pack()

imagetest = PhotoImage(file="giftest.gif")
canvas.create_image(250, 250, image=imagetest)

root.mainloop()

Я нашел некоторую информацию в этом видео YouTube о том, как связать файл с определенной папкой, но он сообщает только о цели. Я не могу гарантировать, что все содержимое папки назначения, показанное в этом видео, всегда будет работать, если я переместу папку, содержащую программу, в другое место назначения; перемещение этой папки нарушит ссылки на изображения в программе.

Есть ли способ загрузить изображение из папки, которая находится в той же папке, что и программа? Я помню, что HTML тоже может делать подобные вещи, но я не знаю, может ли Python сделать это тоже.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Вы можете указать папку в вашем файле Python, содержащую изображение, как "folder/giftest.gif". Вот образец:

from tkinter import *

root = Tk()

canvas = Canvas(root, width=500, height=500)
canvas.pack()

imagetest = PhotoImage(file="folder/subfolder/giftest.gif")  #python file is not in "folder" but "folder" is in your python file directory
canvas.create_image(250, 250, image=imagetest)

root.mainloop()
0 голосов
/ 05 сентября 2018

Если абсолютный путь не фиксирован, вы всегда можете создать путь к файлу в своем коде.

Это объединит абсолютный путь к текущему каталогу и относительный путь к вашему файлу. Пока относительное расположение изображения всегда одинаково со сценарием Python, это всегда будет работать.

import os
directory_path = os.path.dirname(__file__)
file_path = os.path.join(directory_path, 'relative_path/file')

Обратите внимание, что directory_path - это путь к каталогу вашего скрипта Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...