python - 从与程序位于同一文件夹中的文件夹中加载图像
问题描述
我的文件在我的程序上工作。但是,我不确定如何从特定文件夹中的文件加载图像。到目前为止是我的以下代码,它只能在与程序文件本身相同的文件夹中直接获取图像。
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 是否也可以做到这一点。
解决方案
如果绝对路径不固定,您始终可以在代码中构建文件路径。
这将结合当前目录的绝对路径和文件的相对路径。只要图像的相对位置始终与 python 脚本相同,这将始终有效。
import os
directory_path = os.path.dirname(__file__)
file_path = os.path.join(directory_path, 'relative_path/file')
请注意,directory_path是您的 python 脚本的目录路径。
推荐阅读
- xcode - Podfile 未安装选定的分支
- python - 使用 Flask 运行简单的 Python Web 应用程序时出错
- html - 如何通过 CSS 在文本后面添加一个突出显示,使其看起来像下面的 Instagram-one?
- python - 如何使用 Python 在屏幕上绘制一个空矩形
- java - /graphql POST 方法不允许在部署在 AWS lambda 上的 springboot graphql 应用程序中使用
- mongodb - 使用 --auth 和 --bind_ip 本地主机 my_IP_address 启动 Mongod,无法检索本地主机的内存
- sas - SAS : Proc format The SAS task name is [FORMAT (] Segmentation Violation Issue
- asp.net - 如何在实际服务器上(全局)部署 IIS webApp?
- javascript - 在 jQuery/JavaScript 中基于逗号分隔的数据属性值显示/隐藏 div
- dpdk - 有效 CPUSET 的 testPMD 错误(EAL:无效核心列表语法)