首页 > 解决方案 > 从与程序位于同一文件夹中的文件夹中加载图像

问题描述

我的文件在我的程序上工作。但是,我不确定如何从特定文件夹中的文件加载图像。到目前为止是我的以下代码,它只能在与程序文件本身相同的文件夹中直接获取图像。

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 是否也可以做到这一点。

标签: pythonpython-3.xtkinter

解决方案


如果绝对路径不固定,您始终可以在代码中构建文件路径。

这将结合当前目录的绝对路径和文件的相对路径。只要图像的相对位置始终与 python 脚本相同,这将始终有效。

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

请注意,directory_path是您的 python 脚本的目录路径。


推荐阅读