如何使用相对路径访问png文件



所以我正在运行以下代码:

from tkinter import *
# Variables
HomeGUI = Tk()
CamBut = Button(HomeGUI)
CamLogo = PhotoImage(file=r"C:UsersadityPycharmProjectsFront End for MediScanCamLogo.PNG")

# Function opens GUI for home screen
def runhome():
# Setting global variables
global CamBut
global HomeGUI
CamBut.config(image=CamLogo)
CamBut.pack()
HomeGUI.mainloop()

runhome()

我想使用相对路径访问CamLogo.PNG,因为直接路径在另一台设备上不起作用,我该怎么做?CamLogo.png与上面的代码在同一个文件夹中。

如果它在同一个文件夹中,那么您只需执行:

CamLogo = PhotoImage(file="CamLogo.PNG")

如果PNG与Python脚本位于同一目录中,则可以通过其基名称来引用它。

然而,当有人修改你的代码并添加os.chdir("其他目录"(时会发生什么?那么这种策略就行不通了。

这样会更安全:

import os
myPNG = 'CamLogo.PNG'
pathToPNG = os.path.join(os.path.dirname(__file__), myPNG)

然后,您可以使用pathToPNG,而不用担心代码中其他地方的目录可能会发生任何更改。

当然,pathToPNG是绝对的,但它是一种更稳健的方法

最新更新