2013-05-08 71 views
4

这主要是针对Py2app,但我打算也移植到Windows,因此Py2exe也适用。如何直接访问Py2app(或Py2exe)程序中的资源?

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

对于开发我这个变量预设为类似“./Resources-test”,但对最终的分配,我需要能够找到资源文件夹在其中访问文件的文件对象。

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

感谢

回答

2

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

Futhermore环境变量“RESOURCEPATH”设置为资源文件夹的绝对路径。