2013-05-08 66 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」設置爲資源文件夾的絕對路徑。