python - 在python中导入图像,如果我将程序文件夹移动到不同的位置,我的程序将无法运行,如果我想让它运行,我必须更改我的代码
问题描述
我的程序有问题,我导入图像,它可以工作,但在成功的背后,我缺少一些东西。查看以下代码片段:
# python 3
from PIL import Image
from PIL import ImageTk
pathdesign_img = "D:/Python/Project1/image/design/
self.logo_Tbar_img = ImageTk.PhotoImage(Image.open(pathdesign_img+'Mlogo.jpg'))
self.logo_Tbar = tk.Label(self.bar_Tbar, image=self.logo_Tbar_img, bg="#DA291C")
self.logo_Tbar.pack(side=tk.LEFT, fill=tk.BOTH)
该代码有效,但是当我想将所有程序文件夹移动到不同的地方时,例如:C:\User\
. 我的程序无法运行,如果我想让它运行,我必须更改pathdesign_img = "C:/User/...."
. 是否需要更改或添加任何代码,以便我的程序可以在任何文件夹中运行,而无需更改pathdesign_img
解决方案
是的,这应该是可能的。我假设您的 python 文件或 jupyter-notebook 位于文件夹“D:/Python/Project1”中,而您的图像位于文件夹“D:/Python/Project1/image/design”中。然后你可以这样做:
pathdesign_img = "image/design/"
简而言之,它的作用是:在您所在的文件夹中,它会搜索一个名为“image”的文件夹,并在该文件夹中搜索一个名为“design”的子文件夹。
推荐阅读
- javascript - 我可以添加状态属性值吗?
- javascript - 在 React 中更改另一个组件状态的正确方法是什么
- python - 如何在 Python 中将两个列表的元素合并到同一索引处?
- java - 如何使用 Mockito 3 模拟 JtaTransactionManager?
- sql - “TRUNCATE”处或附近的语法错误 - Aurora Postgres 10.12
- c - C 中的 gets() 函数不输入我正在使用 code::blocks
- assembly - 从 16 位实模式切换到 32 位保护模式的问题
- jquery - Oracle Apex - 使选项卡区域“粘性”
- swift - 如何轻松引用 UserDefaults 值
- excel - 在 Excel 中创建具有给定概率的动态数组