Python 如何直接访问Py2app(或Py2exe)程序中的资源?

Python 如何直接访问Py2app(或Py2exe)程序中的资源?,python,resources,py2app,Python,Resources,Py2app,这主要是针对Py2app的,但我计划也移植到Windows,以便Py2exe也适用 对于Mac:如何从Python代码访问我的应用程序包的Resources文件夹?对我来说,理想的方法是将这个文件夹的路径放入一个变量中,我的类将该变量预先添加到他们需要访问的任何文件中。鉴于OSX应用程序捆绑包的可移植性,此资源文件夹可以移动,因此假设它始终位于/Applications/MyApp.app/Contents/Resources显然是不可接受的 对于开发,我可以将此变量预设为类似“/Resourc

这主要是针对Py2app的,但我计划也移植到Windows,以便Py2exe也适用

对于Mac:如何从Python代码访问我的应用程序包的Resources文件夹?对我来说,理想的方法是将这个文件夹的路径放入一个变量中,我的类将该变量预先添加到他们需要访问的任何文件中。鉴于OSX应用程序捆绑包的可移植性,此资源文件夹可以移动,因此假设它始终位于/Applications/MyApp.app/Contents/Resources显然是不可接受的

对于开发,我可以将此变量预设为类似“/Resources test”的值,但对于最终发行版,我需要能够找到Resources文件夹,以作为文件对象访问其中的文件

对于Windows:如果我使用py2exe,那么获取应用程序运行路径的正确方法是什么?(想想便携式应用程序-该应用程序可能是从程序文件、某人闪存驱动器上的目录或临时目录中运行的!)在Windows上,只需知道.exe文件的位置,并在那里有一个资源文件夹就可以了。(我计划使用wxwidgets制作跨平台应用。)


谢谢

默认情况下,“资源”文件夹是py2app启动的应用程序的当前工作目录

此外,环境变量“RESOURCEPATH”被设置为资源文件夹的绝对路径