我构建了一个需要在窗口启动时启动的程序,但在加载文件时出现问题。
例如,假设我的应用程序的路径是:
c:\dir1\dir2\app.exe
这个app.exe是由cx_freeze构建的。
并且有一个名为:
的文件c:\dir1\dir2\file.json
为了让这个应用程序在窗口启动时运行,我在启动目录中创建了一个快捷方式,并使用
winreg
编辑了注册表。
问题是:我的应用程序有一个名为:
的代码 file = open(os.getcwd() + '/file.json','r')
当它在启动时运行时,路径是快捷方式所在的位置,而不是
c:\dir1\dir2\
。
我想要的是让我的应用程序在窗口启动时以某种方式读取
c:\dir1\dir2\
,通过在c:等中创建txt文件。这个问题的一般解决方案是什么?我认为这是我知识不足的问题,而不是问题的难度。
我认为当前工作目录不是
c:\dir1\dir2\
,而是启动脚本运行的不同目录。尝试使用 __file__
变量的值并获取该路径的父路径而不是 os.getcwd()
。