2013-05-08 2 views
4

Это в основном для Py2app, но я планирую также подключиться к Windows, так что Py2exe также применим.Как получить прямой доступ к ресурсу в программе Py2app (или Py2exe)?

Для Mac: Как я могу получить доступ к папке Ресурсы моего пакета приложений из кода Python? Идеальным способом для меня было бы получить путь к этой папке в переменную, которую мои классы добавляют к любому файлу, к которому они должны получить доступ. Учитывая переносимость пакетов приложений OSX, эта папка «Ресурсы» может перемещаться, поэтому явно не приемлемо предполагать, что она всегда будет находиться в /Applications/MyApp.app/Contents/Resources.

Для разработки я могу настроить эту переменную на что-то вроде «./Resources-test», но для окончательного распространения мне нужно было бы найти папку «Ресурсы» для доступа к файлам в ней в качестве файловых объектов.

Для Windows: Если я использую py2exe, каков правильный способ получить путь к тому, откуда работает приложение? (Think portable app - приложение может быть запущено из файлов программы или каталога на чьей-то флешке или в временном каталоге!) В Windows было бы удобно просто узнать, где находится файл .exe, и просто иметь ресурсы папка там. (Я планирую сделать кросс-платформенных приложений с помощью WxWidgets.)

Благодаря

ответ

2

По умолчанию папка «Ресурс» является текущий рабочий каталог для приложений, запущенных py2app.

Более того, переменная окружения «RESOURCEPATH» установлена ​​в абсолютный путь к папке ресурса.