Bundle Text file in py2app Application (python)

混江龙づ霸主 提交于 2019-12-13 05:18:37

问题


I recently learned Python (2.7) and have been making some simple board games with AIs and such as practice. I am currently making an intelligent hangman game which necessitates the inclusion of a dictionary file. (I have a text file which has a new word on each line). I used py2app successfully for other stuff such as this: connect-four.zzl.org but unfortunately, it doesn't seem to include my text file when I run py2app for my new hangman program. Can anyone help me figure out how to include this file so that the program can be distributed like the connect four game I linked to?

Thank You very much. (I am running OS X 10.7 and can provide any other necessary info if necessary)


回答1:


Specify a resources key in your options that contains a list of resources to include. This will be the current directory when your app runs

options = { "resources": ["myfile.txt"] }

http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html#option-reference

If you use the resources flag with py2applet it will creates that key




回答2:


From the help document for py2app:

The first step is to create a setup.py file for your script. setup.py is the "project file" that tells setuptools everything it needs to know to build your application. We'll use the py2applet script to do that:

$ py2applet --make-setup MyApplication.py

Wrote setup.py

If your application has an icon (in .icns format) or data files that it requires, you should also specify them as arguments to py2applet.

So presuming you have hangman.py and hangman.txt run:

$ py2applet --make-setup hangman.py hangman.txt




回答3:


A very simple way is to add your dictionary as a (variable in a) python module that you import at run time. The dictionary will be embedded in your exe as any other module.



来源:https://stackoverflow.com/questions/8550374/bundle-text-file-in-py2app-application-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!