首页 > 解决方案 > 你如何概括 tkinter 中的文件路径?

问题描述

我完成了我的第一个 GUI 项目,它允许用户通过键入产品密钥来打开任何 PDF 文件,或者使用树视图手动找到它。我将所有文件与应用程序放在同一个文件夹中,问题是当我使用 pyinstaller 将其设置为 .exe 时,它​​不会启动。并且每当我移动它时,什么都不会出现,因为代码链接到该特定位置。我的问题是你如何将它写入文件路径链接到特定文件夹的位置,即使所述文件夹移动,它仍然可以访问这些文件?

def Product_Look_UP():
    if inPro.get()== "24LPPS":
        Label(root, text= f"Searching for {inPro.get()}..." , fg = "Orange").grid(row = 3 , column = 0)
        import webbrowser as wb
        wb.open_new(r'C:\Users\user\Desktop\Product Finder\Data\Vender\vender\Ladder Pulls\24 in\Polished Stainless\LADDER PULL.pdf')

本质上,如何使文件夹位于我的计算机、服务器或其他人的计算机上"C:\Users\user\Desktop""Product Finder"

标签: pythonuser-interfacetkinterfilepath

解决方案


您可以调用该函数os.path.abspath并将主要 python 脚本的文件名传递给它,它将返回文件所在的路径。你可以这样做:

import os
import webbrowser as wb

CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
wb.open_new(f"{CURRENT_DIR}/data/test.pdf")

推荐阅读