首页 > 解决方案 > 在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

标签: pythontkinterpython-imaging-library

解决方案


是的,这应该是可能的。我假设您的 python 文件或 jupyter-notebook 位于文件夹“D:/Python/Project1”中,而您的图像位于文件夹“D:/Python/Project1/image/design”中。然后你可以这样做:

pathdesign_img = "image/design/"

简而言之,它的作用是:在您所在的文件夹中,它会搜索一个名为“image”的文件夹,并在该文件夹中搜索一个名为“design”的子文件夹。


推荐阅读