如何获取Python当前目录以解决Tkinter图片路径错误?
解决Tkinter图片路径跨设备兼容问题
要解决固定路径导致的报错,核心是获取当前脚本文件所在的绝对目录,再和图片文件名拼接成可靠路径,具体实现如下:
修改后的完整代码
# imports from tkinter import * import os # 获取当前脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接图片的完整路径(跨Windows/macOS/Linux兼容) image_path = os.path.join(script_dir, "TestButton.png") # Window Creation window = Tk() window.title('Potato Defense') window.configure(width=1500, height=1500) window.configure(bg='lightblue') photo = PhotoImage(file=image_path) Button(window, text='Click Me !', image=photo).pack(side=TOP) window.mainloop()
关键代码解释
os.path.abspath(__file__):获取当前Python脚本文件的绝对路径(包含文件名)os.path.dirname(...):从完整脚本路径中提取出目录部分os.path.join(script_dir, "TestButton.png"):自动根据操作系统拼接目录和文件名,避免手动写/或\导致的跨平台问题
额外注意事项
如果你的图片和脚本不在同一目录(比如放在子文件夹assets里),只需要修改拼接逻辑:
image_path = os.path.join(script_dir, "assets", "TestButton.png")
内容的提问来源于stack exchange,提问作者BryanThePotato
相关产品推荐
相关产品推荐

