我通过py2exe
创建了一个可执行的Python文件。
如果我在其dist文件夹中运行此可执行文件,它运行正常。
该程序需要访问dist
文件夹中的文件(带参考数据的txt文件)。
如果我在桌面上为该可执行文件创建了一个快捷方式,程序将运行但无法正常运行。程序似乎运行,因为它的文件夹是快捷方式所在的文件夹,而不是exe所在的位置。因此,它无法找到带有参考数据的这些txt文件。
在我的代码中,我将这些txt文件称为:
ref_correction = np.matrix(np.genfromtxt( 'Reference_Data.txt' ))
我该如何解决这个问题?
答案 0 :(得分:1)
您可以使用__file__
变量(其中包含您当前正在编写代码的Python文件的路径)构建数据文件的路径。您可以将其扩展为绝对路径(使用os.path.abspath()
),然后仅获取该路径的目录部分,并将其与数据文件的名称连接。
答案 1 :(得分:0)
请改用:
path = os.getcwd() #Where the 'exe' file is stored
otherpath = os.path.join(path, '../Folder/SubFolder/') #Creates a new path
创建'.exe'文件时,“__ file __”不再适用于路径,因此您需要使用上面的行获取当前工作目录。这将更新“.exe”和所有必需文件当前所在目录的路径。